﻿using System;
using System.IO;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.Extensions.Configuration;

#nullable disable

namespace AntUnion.FrameWork.Model.Models
{
    public partial class mtContext : DbContext
    {
        public mtContext()
        {
        }

        public mtContext(DbContextOptions<mtContext> options)
            : base(options)
        {
        }

        public virtual DbSet<CommissionDetailedReport> CommissionDetailedReports { get; set; }
        public virtual DbSet<CrmAuditLog> CrmAuditLogs { get; set; }
        public virtual DbSet<CrmCryptocurrency> CrmCryptocurrencies { get; set; }
        public virtual DbSet<CrmDeposit> CrmDeposits { get; set; }
        public virtual DbSet<CrmGroup> CrmGroups { get; set; }
        public virtual DbSet<CrmInternaltransfer> CrmInternaltransfers { get; set; }
        public virtual DbSet<CrmKyc> CrmKycs { get; set; }
        public virtual DbSet<CrmRemittanceAccount> CrmRemittanceAccounts { get; set; }
        public virtual DbSet<CrmUser> CrmUsers { get; set; }
        public virtual DbSet<CrmUserInfo> CrmUserInfos { get; set; }
        public virtual DbSet<CrmWallet> CrmWallets { get; set; }
        public virtual DbSet<CrmWalletTransaction> CrmWalletTransactions { get; set; }
        public virtual DbSet<CrmWireTransfer> CrmWireTransfers { get; set; }
        public virtual DbSet<CrmWithdrawal> CrmWithdrawals { get; set; }
        public virtual DbSet<Crmgroupreportview> Crmgroupreportviews { get; set; }
        public virtual DbSet<Cryptocurrency> Cryptocurrencies { get; set; }
        public virtual DbSet<Currency> Currencies { get; set; }
        public virtual DbSet<DailyDetailedReport> DailyDetailedReports { get; set; }
        public virtual DbSet<DailyReport> DailyReports { get; set; }
        public virtual DbSet<EmailSetting> EmailSettings { get; set; }
        public virtual DbSet<EmailTemplate> EmailTemplates { get; set; }
        public virtual DbSet<ExchangeRate> ExchangeRates { get; set; }
        public virtual DbSet<LoginLog> LoginLogs { get; set; }
        public virtual DbSet<Mt5ApiLog> Mt5ApiLogs { get; set; }
        public virtual DbSet<Mt5Deal> Mt5Deals { get; set; }
        public virtual DbSet<Mt5Group> Mt5Groups { get; set; }
        public virtual DbSet<Mt5Order> Mt5Orders { get; set; }
        public virtual DbSet<Mt5Position> Mt5Positions { get; set; }
        public virtual DbSet<Mt5Server> Mt5Servers { get; set; }
        public virtual DbSet<Mt5Transaction> Mt5Transactions { get; set; }
        public virtual DbSet<Mt5User> Mt5Users { get; set; }
        public virtual DbSet<OperationLog> OperationLogs { get; set; }
        public virtual DbSet<PaymentOrder> PaymentOrders { get; set; }
        public virtual DbSet<PersonReport> PersonReports { get; set; }
        public virtual DbSet<ProduceGroupSetting> ProduceGroupSettings { get; set; }
        public virtual DbSet<Promotion> Promotions { get; set; }
        public virtual DbSet<RebateLevel> RebateLevels { get; set; }
        public virtual DbSet<RebateLevelSetting> RebateLevelSettings { get; set; }
        public virtual DbSet<RebateRule> RebateRules { get; set; }
        public virtual DbSet<RebateScheme> RebateSchemes { get; set; }
        public virtual DbSet<RemittanceAccount> RemittanceAccounts { get; set; }
        public virtual DbSet<Symbol> Symbols { get; set; }
        public virtual DbSet<TbCode> TbCodes { get; set; }
        public virtual DbSet<TbCodetype> TbCodetypes { get; set; }
        public virtual DbSet<TbErrorlog> TbErrorlogs { get; set; }
        public virtual DbSet<TbLaverage> TbLaverages { get; set; }
        public virtual DbSet<TbLog> TbLogs { get; set; }
        public virtual DbSet<TbMenu> TbMenus { get; set; }
        public virtual DbSet<TbMenuRole> TbMenuRoles { get; set; }
        public virtual DbSet<TbPower> TbPowers { get; set; }
        public virtual DbSet<TbPowerRole> TbPowerRoles { get; set; }
        public virtual DbSet<TbRole> TbRoles { get; set; }
        public virtual DbSet<TbSystemConfig> TbSystemConfigs { get; set; }
        public virtual DbSet<TbSystemConfigTab> TbSystemConfigTabs { get; set; }
        public virtual DbSet<TbUser> TbUsers { get; set; }
        public virtual DbSet<TbUserRole> TbUserRoles { get; set; }
        public virtual DbSet<WireTransfer> WireTransfers { get; set; }

        public IConfiguration Configuration;
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            if (!optionsBuilder.IsConfigured)
            {
                if (!optionsBuilder.IsConfigured)
                {
                    Configuration = new ConfigurationBuilder()
                        .SetBasePath(Directory.GetCurrentDirectory())
                        .AddJsonFile("appsettings.json", optional: true)
                        .Build();
                    optionsBuilder.UseMySql(Configuration.GetConnectionString("InventoryDatabase"), Microsoft.EntityFrameworkCore.ServerVersion.Parse("5.7.27-mysql"));
                }
            }
        }


        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.HasCharSet("utf8")
                .UseCollation("utf8_general_ci");

            modelBuilder.Entity<CommissionDetailedReport>(entity =>
            {
                entity.ToTable("commission_detailed_report");

                entity.HasComment("返佣明细表");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增主键");

                entity.Property(e => e.Addtime)
                    .HasColumnName("addtime")
                    .HasComment("返佣时间");

                entity.Property(e => e.Coefficient)
                    .HasPrecision(12, 4)
                    .HasColumnName("coefficient")
                    .HasComment("返佣系数");

                entity.Property(e => e.Crmid)
                    .HasColumnType("int(11)")
                    .HasColumnName("crmid")
                    .HasComment("交易者编号");

                entity.Property(e => e.Crmlogin)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("crmlogin")
                    .HasComment("交易者账号");

                entity.Property(e => e.Date)
                    .HasColumnName("date")
                    .HasComment("返佣日期");

                entity.Property(e => e.Deal)
                    .HasColumnType("bigint(255)")
                    .HasColumnName("deal")
                    .HasComment("交易单号");

                entity.Property(e => e.Endtime)
                    .HasColumnName("endtime")
                    .HasComment("返佣统计结束时间");

                entity.Property(e => e.Isreturn)
                    .HasColumnType("bit(1)")
                    .HasColumnName("isreturn")
                    .HasDefaultValueSql("b'0'")
                    .HasComment("是否返佣0未返佣1已返佣");

                entity.Property(e => e.Level)
                    .HasMaxLength(255)
                    .HasColumnName("level")
                    .HasComment("返佣等级");

                entity.Property(e => e.LevelId)
                    .HasColumnType("int(11)")
                    .HasColumnName("level_id")
                    .HasComment("返佣等级ID");

                entity.Property(e => e.Money)
                    .HasPrecision(12, 4)
                    .HasColumnName("money")
                    .HasComment("返佣金额");

                entity.Property(e => e.Mt5login)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("mt5login")
                    .HasComment("交易账户");

                entity.Property(e => e.OrderId)
                    .HasMaxLength(255)
                    .HasColumnName("order_id")
                    .HasComment("订单号");

                entity.Property(e => e.Owner)
                    .HasColumnType("int(11)")
                    .HasColumnName("owner")
                    .HasComment("拥有者");

                entity.Property(e => e.Scheme)
                    .HasMaxLength(255)
                    .HasColumnName("scheme")
                    .HasComment("返佣方案");

                entity.Property(e => e.SchemeId)
                    .HasColumnType("int(11)")
                    .HasColumnName("scheme_id")
                    .HasComment("返佣方案ID");

                entity.Property(e => e.Starttime)
                    .HasColumnName("starttime")
                    .HasComment("返佣统计开始时间");

                entity.Property(e => e.Symbol)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("symbol")
                    .HasComment("品种");

                entity.Property(e => e.Volume)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("volume")
                    .HasComment("交易量");
            });

            modelBuilder.Entity<CrmAuditLog>(entity =>
            {
                entity.ToTable("crm_audit_log");

                entity.HasComment("审核记录");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增编号");

                entity.Property(e => e.Cont)
                    .HasMaxLength(255)
                    .HasColumnName("cont")
                    .HasComment("内容");

                entity.Property(e => e.CreateDate)
                    .HasColumnName("create_date")
                    .HasComment("提交时间");

                entity.Property(e => e.CrmId)
                    .HasColumnType("int(11)")
                    .HasColumnName("crm_id")
                    .HasComment("CRM账户编号");

                entity.Property(e => e.Isread)
                    .HasColumnType("bit(1)")
                    .HasColumnName("isread")
                    .HasDefaultValueSql("b'0'")
                    .HasComment("0未读，1已读");

                entity.Property(e => e.OrderId)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("order_id")
                    .HasComment("审核记录id");

                entity.Property(e => e.Remark)
                    .HasMaxLength(255)
                    .HasColumnName("remark")
                    .HasComment("备注 ");

                entity.Property(e => e.Reviewer)
                    .HasMaxLength(255)
                    .HasColumnName("reviewer")
                    .HasComment("审核");

                entity.Property(e => e.ReviewerId)
                    .HasColumnType("int(11)")
                    .HasColumnName("reviewerId")
                    .HasComment("审核人id");

                entity.Property(e => e.Type)
                    .HasColumnType("int(255)")
                    .HasColumnName("type")
                    .HasComment("类型（1个人信息2财务信息3身份信息4入金5出金6内部转账）7代理审核");
            });

            modelBuilder.Entity<CrmCryptocurrency>(entity =>
            {
                entity.ToTable("crm_cryptocurrency");

                entity.HasComment("CRM加密货币");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("电汇账户");

                entity.Property(e => e.CrmId)
                    .HasColumnType("int(11)")
                    .HasColumnName("crm_id")
                    .HasComment("CRM账户编号");

                entity.Property(e => e.Currency)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("currency")
                    .HasComment("收款货币");

                entity.Property(e => e.Network)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("network")
                    .HasComment("网络");

                entity.Property(e => e.ReceivingAddress)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("receiving_address")
                    .HasComment("收款地址");
            });

            modelBuilder.Entity<CrmDeposit>(entity =>
            {
                entity.ToTable("crm_deposit");

                entity.HasComment("入金表");

                entity.Property(e => e.Id)
                    .HasMaxLength(50)
                    .HasColumnName("id")
                    .HasComment("订单号");

                entity.Property(e => e.Certificate)
                    .HasMaxLength(255)
                    .HasColumnName("certificate")
                    .HasComment("凭证");

                entity.Property(e => e.CreateDate)
                    .HasColumnName("create_date")
                    .HasComment("提交时间");

                entity.Property(e => e.CrmId)
                    .HasColumnType("int(11)")
                    .HasColumnName("crm_id")
                    .HasComment("CRM用户编号");

                entity.Property(e => e.DepositAmount)
                    .HasPrecision(10, 2)
                    .HasColumnName("deposit_amount")
                    .HasComment("入金金额");

                entity.Property(e => e.DepositAmountCurrency)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("deposit_amount_currency")
                    .HasComment("入金金额币种");

                entity.Property(e => e.ExchangeRate)
                    .HasPrecision(10, 6)
                    .HasColumnName("exchange_rate")
                    .HasComment("汇率");

                entity.Property(e => e.Fees)
                    .HasPrecision(10, 2)
                    .HasColumnName("fees")
                    .HasComment("手续费");

                entity.Property(e => e.FromAmount)
                    .HasPrecision(10, 2)
                    .HasColumnName("from_amount")
                    .HasComment("收款金额");

                entity.Property(e => e.FromAmountCurrency)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("from_amount_currency")
                    .HasComment("收款金额币种");

                entity.Property(e => e.Info)
                    .HasColumnType("text")
                    .HasColumnName("info")
                    .HasComment("收款方信息");

                entity.Property(e => e.IsDeposit)
                    .HasColumnType("int(11)")
                    .HasColumnName("isDeposit")
                    .HasComment("是否入金");

                entity.Property(e => e.Login)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("login")
                    .HasComment("入金MT5账户");

                entity.Property(e => e.Mothod)
                    .HasColumnType("int(255)")
                    .HasColumnName("mothod")
                    .HasComment("1电汇账户2汇款账户3加密货币");

                entity.Property(e => e.Mt5Order)
                    .HasMaxLength(50)
                    .HasColumnName("mt5Order")
                    .HasComment("MT5订单号");

                entity.Property(e => e.OverDate)
                    .HasColumnName("over_date")
                    .HasComment("完结时间");

                entity.Property(e => e.Remark)
                    .HasColumnType("text")
                    .HasColumnName("remark")
                    .HasComment("备注");

                entity.Property(e => e.Reviewer)
                    .HasMaxLength(255)
                    .HasColumnName("reviewer")
                    .HasComment("当前审核人");

                entity.Property(e => e.State)
                    .HasColumnType("int(11)")
                    .HasColumnName("state")
                    .HasComment("状态(0审核中，1拒绝，2通过)");

                entity.Property(e => e.ToAmount)
                    .HasPrecision(10, 2)
                    .HasColumnName("to_amount")
                    .HasComment("到款金额");

                entity.Property(e => e.ToAmountCurrency)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("to_amount_currency")
                    .HasComment("到款金额币种");
            });

            modelBuilder.Entity<CrmGroup>(entity =>
            {
                entity.ToTable("crm_group");

                entity.HasComment("CRM分组");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增编号");

                entity.Property(e => e.CreateDate)
                    .HasColumnType("timestamp")
                    .ValueGeneratedOnAddOrUpdate()
                    .HasColumnName("createDate")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("创建日期");

                entity.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("creator")
                    .HasComment("创建者");

                entity.Property(e => e.Name)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("name")
                    .HasComment("分组名称");

                entity.Property(e => e.Remark)
                    .HasMaxLength(200)
                    .HasColumnName("remark")
                    .HasComment("备注");

                entity.Property(e => e.Sort)
                    .HasColumnType("int(11)")
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.State)
                    .HasColumnType("int(11)")
                    .HasColumnName("state")
                    .HasComment("状态1启用0禁用");
            });

            modelBuilder.Entity<CrmInternaltransfer>(entity =>
            {
                entity.ToTable("crm_internaltransfer");

                entity.HasComment("内部转账表");

                entity.Property(e => e.Id)
                    .HasMaxLength(50)
                    .HasColumnName("id")
                    .HasComment("订单号");

                entity.Property(e => e.CreateDate)
                    .HasColumnName("create_date")
                    .HasComment("提交时间");

                entity.Property(e => e.CrmId)
                    .HasColumnType("int(11)")
                    .HasColumnName("crm_id")
                    .HasComment("CRM用户编号");

                entity.Property(e => e.ExchangeRate)
                    .HasPrecision(10, 6)
                    .HasColumnName("exchange_rate")
                    .HasComment("汇率");

                entity.Property(e => e.Fees)
                    .HasPrecision(10, 2)
                    .HasColumnName("fees")
                    .HasComment("手续费");

                entity.Property(e => e.FromAmount)
                    .HasPrecision(10, 2)
                    .HasColumnName("from_amount")
                    .HasComment("出金金额");

                entity.Property(e => e.FromAmountCurrency)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("from_amount_currency")
                    .HasComment("出金金额币种");

                entity.Property(e => e.Login)
                    .HasColumnType("bigint(255)")
                    .HasColumnName("login")
                    .HasComment("出金MT5账户");

                entity.Property(e => e.Mt5Order)
                    .HasMaxLength(255)
                    .HasColumnName("mt5Order")
                    .HasComment("MT5订单号");

                entity.Property(e => e.OverDate)
                    .HasColumnName("over_date")
                    .HasComment("完结时间");

                entity.Property(e => e.Remark)
                    .HasMaxLength(255)
                    .HasColumnName("remark")
                    .HasComment("备注");

                entity.Property(e => e.Reviewer)
                    .HasMaxLength(255)
                    .HasColumnName("reviewer")
                    .HasComment("当前审核人");

                entity.Property(e => e.State)
                    .HasColumnType("int(11)")
                    .HasColumnName("state")
                    .HasComment("状态(0审核中，1拒绝，2通过)");

                entity.Property(e => e.ToAmount)
                    .HasPrecision(10, 2)
                    .HasColumnName("to_amount")
                    .HasComment("出金收款金额");

                entity.Property(e => e.ToAmountCurrency)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("to_amount_currency")
                    .HasComment("出金金额币种");

                entity.Property(e => e.Walletid)
                    .HasMaxLength(255)
                    .HasColumnName("walletid")
                    .HasComment("钱包地址");
            });

            modelBuilder.Entity<CrmKyc>(entity =>
            {
                entity.HasKey(e => new { e.Id, e.ControlId })
                    .HasName("PRIMARY")
                    .HasAnnotation("MySql:IndexPrefixLength", new[] { 0, 0 });

                entity.ToTable("crm_kyc");

                entity.HasComment("CRM KYC设置（用户规则）");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .ValueGeneratedOnAdd()
                    .HasColumnName("id")
                    .HasComment("自增编号");

                entity.Property(e => e.ControlId)
                    .HasMaxLength(255)
                    .HasColumnName("controlId")
                    .HasComment("控件ID");

                entity.Property(e => e.Config)
                    .HasColumnType("text")
                    .HasColumnName("config")
                    .HasComment("设置内容");

                entity.Property(e => e.Infotype)
                    .HasColumnType("int(11)")
                    .HasColumnName("infotype")
                    .HasComment("信息类型1个人信息2财务信息3身份信息");

                entity.Property(e => e.Name)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("name")
                    .HasComment("字段名称");

                entity.Property(e => e.Required)
                    .HasColumnType("int(11)")
                    .HasColumnName("required")
                    .HasComment("是否必填（0是1否）");

                entity.Property(e => e.Sort)
                    .HasColumnType("int(11)")
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.Source)
                    .HasColumnType("int(11)")
                    .HasColumnName("source")
                    .HasComment("字段来源（0系统字段1自定义字段）");

                entity.Property(e => e.State)
                    .HasColumnType("int(11)")
                    .HasColumnName("state")
                    .HasComment("状态1启用0禁用");

                entity.Property(e => e.Type)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("type")
                    .HasComment("字段类型");

                entity.Property(e => e.Value)
                    .HasMaxLength(255)
                    .HasColumnName("value")
                    .HasComment("值");
            });

            modelBuilder.Entity<CrmRemittanceAccount>(entity =>
            {
                entity.ToTable("crm_remittance_account");

                entity.HasComment("CRM汇款账户");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("电汇账户");

                entity.Property(e => e.AccountNumber)
                    .IsRequired()
                    .HasMaxLength(25)
                    .HasColumnName("account_number")
                    .HasComment("银行卡号");

                entity.Property(e => e.Bank)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("\r\nbank")
                    .HasComment("开户银行");

                entity.Property(e => e.BranchName)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("branch_name")
                    .HasComment("支行名称");

                entity.Property(e => e.CrmId)
                    .HasColumnType("int(11)")
                    .HasColumnName("crm_id")
                    .HasComment("CRM账户编号");

                entity.Property(e => e.Currency)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("currency")
                    .HasComment("收款货币");

                entity.Property(e => e.Payee)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("payee")
                    .HasComment("开户姓名");

                entity.Property(e => e.Qrcode)
                    .HasMaxLength(255)
                    .HasColumnName("qrcode")
                    .HasComment("收款二维码");
            });

            modelBuilder.Entity<CrmUser>(entity =>
            {
                entity.ToTable("crm_user");

                entity.HasComment("CRM用户表");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增编号");

                entity.Property(e => e.CreateDate)
                    .HasColumnType("timestamp")
                    .HasColumnName("create_date")
                    .HasDefaultValueSql("'0000-00-00 00:00:00'")
                    .HasComment("创建时间");

                entity.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("creator")
                    .HasComment("创建者");

                entity.Property(e => e.CrmGroup)
                    .HasColumnType("int(11) unsigned zerofill")
                    .HasColumnName("crm_group")
                    .HasDefaultValueSql("'00000000000'")
                    .HasComment("CRM分组");

                entity.Property(e => e.CrmUp)
                    .HasColumnType("int(11)")
                    .HasColumnName("crm_up")
                    .HasComment("CRM上线");

                entity.Property(e => e.Email)
                    .HasMaxLength(100)
                    .HasColumnName("email")
                    .HasComment("电子邮箱");

                entity.Property(e => e.IdNo)
                    .HasMaxLength(255)
                    .HasColumnName("idNo")
                    .HasComment("身份证信息");

                entity.Property(e => e.Isdel)
                    .HasColumnType("bit(1)")
                    .HasColumnName("isdel")
                    .HasComment("是否删除（0：未删除；1：已删除）");

                entity.Property(e => e.LastIp)
                    .HasMaxLength(255)
                    .HasColumnName("last_ip")
                    .HasComment("最后登录IP");

                entity.Property(e => e.LastTime)
                    .HasColumnType("timestamp")
                    .HasColumnName("last_time")
                    .HasComment("最后登录时间");

                entity.Property(e => e.Level)
                    .HasColumnType("int(11)")
                    .HasColumnName("level")
                    .HasComment("等级（默认0）");

                entity.Property(e => e.LoginName)
                    .IsRequired()
                    .HasMaxLength(100)
                    .HasColumnName("login_name")
                    .HasComment("登录账号");

                entity.Property(e => e.LoginPwd)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("login_pwd")
                    .HasComment("登录密码");

                entity.Property(e => e.Name)
                    .HasMaxLength(100)
                    .HasColumnName("name")
                    .HasComment("姓氏");

                entity.Property(e => e.Pid)
                    .HasColumnType("int(11)")
                    .HasColumnName("pid")
                    .HasComment("上级编号（默认0）");

                entity.Property(e => e.Remark)
                    .HasMaxLength(500)
                    .HasColumnName("remark")
                    .HasComment("备注");

                entity.Property(e => e.Role)
                    .HasColumnType("int(11)")
                    .HasColumnName("role")
                    .HasDefaultValueSql("'0'")
                    .HasComment("0普通用户1推广");

                entity.Property(e => e.SchemeId)
                    .HasColumnType("int(11)")
                    .HasColumnName("scheme_id")
                    .HasComment("返佣方案ID");

                entity.Property(e => e.Source)
                    .HasColumnType("int(11)")
                    .HasColumnName("source")
                    .HasComment("来源（0前端创建、1后台创建）");

                entity.Property(e => e.State)
                    .HasColumnType("int(11)")
                    .HasColumnName("state")
                    .HasComment("状态1启用0禁用");

                entity.Property(e => e.Telephone)
                    .HasMaxLength(20)
                    .HasColumnName("telephone")
                    .HasComment("联系电话");

                entity.Property(e => e.TradePwd)
                    .HasMaxLength(255)
                    .HasColumnName("trade_pwd")
                    .HasComment("交易密码");
            });

            modelBuilder.Entity<CrmUserInfo>(entity =>
            {
                entity.ToTable("crm_user_info");

                entity.HasComment("CRM用户信息审核表");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增编号");

                entity.Property(e => e.CreateDate)
                    .HasColumnType("timestamp")
                    .HasColumnName("create_date")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("提交时间");

                entity.Property(e => e.CrmId)
                    .HasColumnType("int(11)")
                    .HasColumnName("crm_id")
                    .HasComment("CRM编号");

                entity.Property(e => e.Financial)
                    .HasColumnType("text")
                    .HasColumnName("financial")
                    .HasComment("财务信息");

                entity.Property(e => e.Identity)
                    .HasColumnType("text")
                    .HasColumnName("identity")
                    .HasComment("身份信息");

                entity.Property(e => e.OverDate)
                    .HasColumnType("timestamp")
                    .HasColumnName("over_date")
                    .HasComment("完结时间");

                entity.Property(e => e.Personal)
                    .HasColumnType("text")
                    .HasColumnName("personal")
                    .HasComment("个人信息");

                entity.Property(e => e.Remarks)
                    .HasMaxLength(255)
                    .HasColumnName("remarks")
                    .HasComment("备注");

                entity.Property(e => e.Reviewer)
                    .HasMaxLength(255)
                    .HasColumnName("reviewer")
                    .HasComment("审核人员");

                entity.Property(e => e.State)
                    .HasColumnType("int(255)")
                    .HasColumnName("state")
                    .HasComment("状态(0审核中，1拒绝，2通过)");

                entity.Property(e => e.Type)
                    .HasColumnType("int(255)")
                    .HasColumnName("type")
                    .HasComment("信息类型1个人信息2财务信息3身份信息");
            });

            modelBuilder.Entity<CrmWallet>(entity =>
            {
                entity.ToTable("crm_wallet");

                entity.HasComment("CRM钱包表");

                entity.Property(e => e.Id)
                    .HasMaxLength(50)
                    .HasColumnName("id")
                    .HasComment("钱包编号");

                entity.Property(e => e.Balance)
                    .HasColumnType("decimal(18,2) unsigned zerofill")
                    .HasColumnName("balance")
                    .HasComment("余额");

                entity.Property(e => e.CreateDate)
                    .HasColumnType("timestamp")
                    .ValueGeneratedOnAddOrUpdate()
                    .HasColumnName("create_date")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("创建时间");

                entity.Property(e => e.CrmId)
                    .HasColumnType("int(11)")
                    .HasColumnName("crm_id")
                    .HasComment("CRM用户编号");

                entity.Property(e => e.Currency)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("currency")
                    .HasComment("钱包币种");
            });

            modelBuilder.Entity<CrmWalletTransaction>(entity =>
            {
                entity.ToTable("crm_wallet_transactions");

                entity.HasComment("钱包资金流水");

                entity.Property(e => e.Id)
                    .HasMaxLength(50)
                    .HasColumnName("id")
                    .HasComment("流水编号");

                entity.Property(e => e.AfterAmount)
                    .HasPrecision(10, 2)
                    .HasColumnName("after_amount")
                    .HasComment("变动后金额");

                entity.Property(e => e.Amount)
                    .HasPrecision(10, 2)
                    .HasColumnName("amount")
                    .HasComment("变动金额");

                entity.Property(e => e.BeforeAmount)
                    .HasPrecision(10, 2)
                    .HasColumnName("before_amount")
                    .HasComment("变动前金额");

                entity.Property(e => e.CreateDate)
                    .HasColumnName("create_date")
                    .HasComment("变动时间");

                entity.Property(e => e.Creator)
                    .HasMaxLength(50)
                    .HasColumnName("creator")
                    .HasComment("创建者");

                entity.Property(e => e.From)
                    .HasMaxLength(255)
                    .HasColumnName("from")
                    .HasComment("流入账号");

                entity.Property(e => e.Mode)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("mode")
                    .HasComment("操作方式");

                entity.Property(e => e.OrderId)
                    .HasMaxLength(50)
                    .HasColumnName("order_id")
                    .HasComment("交易订单号");

                entity.Property(e => e.Remark)
                    .HasMaxLength(255)
                    .HasColumnName("remark")
                    .HasComment("备注");

                entity.Property(e => e.To)
                    .HasMaxLength(255)
                    .HasColumnName("to")
                    .HasComment("流出账号");

                entity.Property(e => e.Type)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("type")
                    .HasComment("操作类型");

                entity.Property(e => e.WalletId)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("wallet_id")
                    .HasComment("钱包编号");
            });

            modelBuilder.Entity<CrmWireTransfer>(entity =>
            {
                entity.ToTable("crm_wire_transfer");

                entity.HasComment("CRM电汇账户");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("电汇账户");

                entity.Property(e => e.AccountNumber)
                    .IsRequired()
                    .HasMaxLength(25)
                    .HasColumnName("account_number")
                    .HasComment("收款账号");

                entity.Property(e => e.Bank)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("\r\nbank")
                    .HasComment("收款银行");

                entity.Property(e => e.BankAddress)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("bank_address")
                    .HasComment("收款银行地址");

                entity.Property(e => e.CrmId)
                    .HasColumnType("int(11)")
                    .HasColumnName("crm_id")
                    .HasComment("CRM账户编号");

                entity.Property(e => e.Currency)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("currency")
                    .HasComment("收款货币");

                entity.Property(e => e.Payee)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("payee")
                    .HasComment("收款人");

                entity.Property(e => e.PayeeAddress)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("payee_address")
                    .HasComment("收款人地址");

                entity.Property(e => e.Swiftcode)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("SWIFTCode")
                    .HasComment("SWIFT Code");
            });

            modelBuilder.Entity<CrmWithdrawal>(entity =>
            {
                entity.ToTable("crm_withdrawal");

                entity.HasComment("出金表");

                entity.Property(e => e.Id)
                    .HasMaxLength(50)
                    .HasColumnName("id")
                    .HasComment("订单号");

                entity.Property(e => e.Account)
                    .HasMaxLength(1000)
                    .HasColumnName("account")
                    .HasComment("收款账户信息（Json）");

                entity.Property(e => e.CreateDate)
                    .HasColumnName("create_date")
                    .HasComment("提交时间");

                entity.Property(e => e.CrmId)
                    .HasColumnType("int(11)")
                    .HasColumnName("crm_id")
                    .HasComment("CRM用户编号");

                entity.Property(e => e.Deducted)
                    .HasColumnType("bit(1)")
                    .HasColumnName("deducted")
                    .HasDefaultValueSql("b'0'")
                    .HasComment("是否已扣款(0未扣款，1已扣款)");

                entity.Property(e => e.ExchangeRate)
                    .HasPrecision(10, 6)
                    .HasColumnName("exchange_rate")
                    .HasComment("汇率");

                entity.Property(e => e.Fees)
                    .HasPrecision(10, 2)
                    .HasColumnName("fees")
                    .HasComment("手续费");

                entity.Property(e => e.FromAmount)
                    .HasPrecision(10, 2)
                    .HasColumnName("from_amount")
                    .HasComment("出金金额");

                entity.Property(e => e.FromAmountCurrency)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("from_amount_currency")
                    .HasComment("出金金额币种");

                entity.Property(e => e.Login)
                    .HasColumnType("bigint(255)")
                    .HasColumnName("login")
                    .HasComment("出金MT5账户");

                entity.Property(e => e.Mothod)
                    .HasColumnType("int(255)")
                    .HasColumnName("mothod")
                    .HasComment("出金方式1电汇账户2汇款账户3加密货币");

                entity.Property(e => e.Mt5Order)
                    .HasMaxLength(255)
                    .HasColumnName("mt5Order")
                    .HasComment("MT5订单号");

                entity.Property(e => e.OverDate)
                    .HasColumnName("over_date")
                    .HasComment("完结时间");

                entity.Property(e => e.Remark)
                    .HasColumnType("text")
                    .HasColumnName("remark")
                    .HasComment("备注");

                entity.Property(e => e.Reviewer)
                    .HasMaxLength(255)
                    .HasColumnName("reviewer")
                    .HasComment("当前审核人");

                entity.Property(e => e.State)
                    .HasColumnType("int(11)")
                    .HasColumnName("state")
                    .HasComment("状态(0审核中，1拒绝，2通过)");

                entity.Property(e => e.ToAmount)
                    .HasPrecision(10, 2)
                    .HasColumnName("to_amount")
                    .HasComment("出金收款金额");

                entity.Property(e => e.ToAmountCurrency)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("to_amount_currency")
                    .HasComment("出金金额币种");

                entity.Property(e => e.WithdrawalAmount)
                    .HasPrecision(10, 2)
                    .HasColumnName("withdrawal_amount")
                    .HasComment("到账金额");

                entity.Property(e => e.WithdrawalAmountCurrency)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("withdrawal_amount_currency")
                    .HasComment("到账金额币种");
            });

            modelBuilder.Entity<Crmgroupreportview>(entity =>
            {
                entity.HasNoKey();

                entity.ToView("crmgroupreportview");

                entity.Property(e => e.DealCount)
                    .HasColumnType("bigint(21)")
                    .HasColumnName("deal_count");

                entity.Property(e => e.GroupId)
                    .HasColumnType("int(11)")
                    .HasColumnName("group_id")
                    .HasComment("自增编号");

                entity.Property(e => e.GroupName)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("group_name")
                    .HasComment("分组名称");

                entity.Property(e => e.Profit).HasColumnName("profit");

                entity.Property(e => e.Volume)
                    .HasPrecision(41)
                    .HasColumnName("volume");
            });

            modelBuilder.Entity<Cryptocurrency>(entity =>
            {
                entity.ToTable("cryptocurrency");

                entity.HasComment("加密货币");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("电汇账户");

                entity.Property(e => e.CreateDate)
                    .HasColumnType("timestamp")
                    .HasColumnName("create_date")
                    .HasDefaultValueSql("'0000-00-00 00:00:00'")
                    .HasComment("创建时间");

                entity.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("creator")
                    .HasComment("创建者");

                entity.Property(e => e.Currency)
                    .HasMaxLength(255)
                    .HasColumnName("currency")
                    .HasComment("收款货币");

                entity.Property(e => e.Maximum)
                    .HasPrecision(10, 2)
                    .HasColumnName("maximum")
                    .HasComment("单笔最高入金金额");

                entity.Property(e => e.Minimum)
                    .HasPrecision(10, 2)
                    .HasColumnName("minimum")
                    .HasComment("单笔最低入金金额");

                entity.Property(e => e.Network)
                    .HasMaxLength(255)
                    .HasColumnName("network")
                    .HasComment("网络");

                entity.Property(e => e.ReceivingAddress)
                    .HasMaxLength(255)
                    .HasColumnName("receiving_address")
                    .HasComment("收款地址");

                entity.Property(e => e.Remark)
                    .HasMaxLength(255)
                    .HasColumnName("remark")
                    .HasComment("提示");

                entity.Property(e => e.RoleId)
                    .HasColumnType("int(11)")
                    .HasColumnName("role_id")
                    .HasComment("用户角色");

                entity.Property(e => e.Sort)
                    .HasColumnType("int(11)")
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.Status)
                    .HasColumnType("int(11)")
                    .HasColumnName("status")
                    .HasComment("状态1启用0禁用");
            });

            modelBuilder.Entity<Currency>(entity =>
            {
                entity.ToTable("currency");

                entity.HasComment("货币设置表");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增编号");

                entity.Property(e => e.Currency1)
                    .HasMaxLength(255)
                    .HasColumnName("currency")
                    .HasComment("币种");

                entity.Property(e => e.Precision)
                    .HasColumnType("int(11)")
                    .HasColumnName("precision")
                    .HasComment("小数位精度");

                entity.Property(e => e.Sort)
                    .HasColumnType("int(11)")
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.State)
                    .HasColumnType("int(11)")
                    .HasColumnName("state")
                    .HasComment("状态1启用0禁用");
            });

            modelBuilder.Entity<DailyDetailedReport>(entity =>
            {
                entity.ToTable("daily_detailed_report");

                entity.HasComment("日明细报表");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增主键");

                entity.Property(e => e.Addtime)
                    .HasColumnName("addtime")
                    .HasComment("返佣时间");

                entity.Property(e => e.Coefficient)
                    .HasPrecision(12, 4)
                    .HasColumnName("coefficient")
                    .HasComment("返佣系数");

                entity.Property(e => e.Date)
                    .HasColumnName("date")
                    .HasComment("结算日期");

                entity.Property(e => e.Endtime)
                    .HasColumnName("endtime")
                    .HasComment("返佣统计结束时间");

                entity.Property(e => e.Level)
                    .HasMaxLength(255)
                    .HasColumnName("level")
                    .HasComment("返佣等级");

                entity.Property(e => e.LevelId)
                    .HasColumnType("int(11)")
                    .HasColumnName("level_id")
                    .HasComment("返佣等级ID");

                entity.Property(e => e.Money)
                    .HasPrecision(12, 4)
                    .HasColumnName("money")
                    .HasComment("返佣金额");

                entity.Property(e => e.Owner)
                    .HasColumnType("int(11)")
                    .HasColumnName("owner")
                    .HasComment("拥有者");

                entity.Property(e => e.Scheme)
                    .HasMaxLength(255)
                    .HasColumnName("scheme")
                    .HasComment("返佣方案");

                entity.Property(e => e.SchemeId)
                    .HasColumnType("int(11)")
                    .HasColumnName("scheme_id")
                    .HasComment("返佣方案ID");

                entity.Property(e => e.Starttime)
                    .HasColumnName("starttime")
                    .HasComment("返佣统计开始时间");

                entity.Property(e => e.Symbol)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("symbol")
                    .HasComment("品种");

                entity.Property(e => e.Volume)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("volume")
                    .HasComment("交易量");
            });

            modelBuilder.Entity<DailyReport>(entity =>
            {
                entity.ToTable("daily_report");

                entity.HasComment("日统计报表");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增主键");

                entity.Property(e => e.Addtime)
                    .HasColumnType("timestamp")
                    .ValueGeneratedOnAddOrUpdate()
                    .HasColumnName("addtime")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("返佣时间");

                entity.Property(e => e.Count)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("count")
                    .HasComment("交易量");

                entity.Property(e => e.Date)
                    .HasColumnType("timestamp")
                    .HasColumnName("date")
                    .HasDefaultValueSql("'0000-00-00 00:00:00'")
                    .HasComment("结算日期");

                entity.Property(e => e.Endtime)
                    .HasColumnName("endtime")
                    .HasComment("返佣统计结束时间");

                entity.Property(e => e.Money)
                    .HasPrecision(12, 4)
                    .HasColumnName("money")
                    .HasComment("返佣金额");

                entity.Property(e => e.Owner)
                    .HasColumnType("int(11)")
                    .HasColumnName("owner")
                    .HasComment("拥有者");

                entity.Property(e => e.Starttime)
                    .HasColumnName("starttime")
                    .HasComment("返佣统计开始时间");
            });

            modelBuilder.Entity<EmailSetting>(entity =>
            {
                entity.ToTable("email_setting");

                entity.HasComment("发件箱设置");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增编号");

                entity.Property(e => e.Account)
                    .HasMaxLength(255)
                    .HasColumnName("account")
                    .HasComment("账户");

                entity.Property(e => e.Address)
                    .HasMaxLength(255)
                    .HasColumnName("address")
                    .HasComment("SMTP地址");

                entity.Property(e => e.Email)
                    .HasMaxLength(255)
                    .HasColumnName("email")
                    .HasComment("发件邮箱");

                entity.Property(e => e.EnableSsl)
                    .HasColumnName("enable_Ssl")
                    .HasComment("安全类型");

                entity.Property(e => e.From)
                    .HasMaxLength(255)
                    .HasColumnName("from")
                    .HasComment("发件人姓名");

                entity.Property(e => e.Password)
                    .HasMaxLength(255)
                    .HasColumnName("password")
                    .HasComment("密码");

                entity.Property(e => e.Port)
                    .HasColumnType("int(10)")
                    .HasColumnName("port")
                    .HasComment("端口");

                entity.Property(e => e.State)
                    .HasColumnType("int(11)")
                    .HasColumnName("state")
                    .HasComment("状态1启用0禁用");

                entity.Property(e => e.Supplier)
                    .HasMaxLength(255)
                    .HasColumnName("supplier")
                    .HasComment("供应商");
            });

            modelBuilder.Entity<EmailTemplate>(entity =>
            {
                entity.ToTable("email_template");

                entity.HasComment("邮件模板");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增编号");

                entity.Property(e => e.Cont)
                    .HasMaxLength(5000)
                    .HasColumnName("cont")
                    .HasComment("内容");

                entity.Property(e => e.CreateDate)
                    .HasColumnType("timestamp")
                    .HasColumnName("create_date")
                    .HasComment("时间");

                entity.Property(e => e.Out)
                    .HasMaxLength(255)
                    .HasColumnName("out")
                    .HasComment("发件邮箱");

                entity.Property(e => e.State)
                    .HasColumnType("int(11)")
                    .HasColumnName("state")
                    .HasComment("状态（0启用1禁用）");

                entity.Property(e => e.Title)
                    .HasMaxLength(255)
                    .HasColumnName("title")
                    .HasComment("邮件标题");
            });

            modelBuilder.Entity<ExchangeRate>(entity =>
            {
                entity.ToTable("exchange_rate");

                entity.HasComment("汇率表");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasComment("主键ID");

                entity.Property(e => e.Buy)
                    .HasColumnType("decimal(10,2) unsigned zerofill")
                    .HasColumnName("buy")
                    .HasComment("买入下浮");

                entity.Property(e => e.From)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("from")
                    .HasComment("转入货币");

                entity.Property(e => e.Price)
                    .HasPrecision(10, 6)
                    .HasColumnName("price")
                    .HasComment("价格");

                entity.Property(e => e.Sell)
                    .HasColumnType("decimal(10,2) unsigned zerofill")
                    .HasColumnName("sell")
                    .HasComment("卖出上浮");

                entity.Property(e => e.To)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("to")
                    .HasComment("转出货币");

                entity.Property(e => e.Update)
                    .HasColumnType("int(11)")
                    .HasColumnName("update")
                    .HasComment("更新模式0手动更新1自动更新");

                entity.Property(e => e.Updatetime)
                    .HasColumnType("timestamp")
                    .HasColumnName("updatetime")
                    .HasDefaultValueSql("'0000-00-00 00:00:00'")
                    .HasComment("更新时间");
            });

            modelBuilder.Entity<LoginLog>(entity =>
            {
                entity.ToTable("login_log");

                entity.HasComment("登录日志");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("主键自增");

                entity.Property(e => e.Addtime)
                    .HasColumnType("timestamp")
                    .ValueGeneratedOnAddOrUpdate()
                    .HasColumnName("addtime")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("添加时间");

                entity.Property(e => e.Browser)
                    .HasMaxLength(255)
                    .HasColumnName("browser")
                    .HasComment("浏览器");

                entity.Property(e => e.Cont)
                    .IsRequired()
                    .HasMaxLength(500)
                    .HasColumnName("cont")
                    .HasComment("内容（暂时不用）");

                entity.Property(e => e.Ip)
                    .HasMaxLength(255)
                    .HasColumnName("ip")
                    .HasComment("操作IP");

                entity.Property(e => e.Ipaddress)
                    .HasMaxLength(255)
                    .HasColumnName("ipaddress")
                    .HasComment("操作地点");

                entity.Property(e => e.Name)
                    .HasMaxLength(255)
                    .HasColumnName("name")
                    .HasComment("操作员名称");

                entity.Property(e => e.Operator)
                    .HasColumnType("int(11)")
                    .HasColumnName("operator")
                    .HasComment("操作员");

                entity.Property(e => e.Source)
                    .HasColumnType("int(1)")
                    .HasColumnName("source")
                    .HasComment("用户类型 0管理员1用户");

                entity.Property(e => e.State)
                    .HasColumnType("int(1)")
                    .HasColumnName("state")
                    .HasComment("状态");

                entity.Property(e => e.System)
                    .HasMaxLength(255)
                    .HasColumnName("system")
                    .HasComment("操作系统");
            });

            modelBuilder.Entity<Mt5ApiLog>(entity =>
            {
                entity.ToTable("mt5_api_log");

                entity.HasComment("MT5接口请求日志");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增编号");

                entity.Property(e => e.Req)
                    .HasMaxLength(255)
                    .HasColumnName("req")
                    .HasComment("请求参数");

                entity.Property(e => e.ReqTime)
                    .HasColumnType("timestamp")
                    .HasColumnName("req_time")
                    .HasComment("请求时间");

                entity.Property(e => e.Res)
                    .HasColumnType("text")
                    .HasColumnName("res")
                    .HasComment("响应参数");

                entity.Property(e => e.ResTime)
                    .HasColumnType("timestamp")
                    .HasColumnName("res_time")
                    .HasComment("响应时间");

                entity.Property(e => e.Result)
                    .HasColumnType("int(11)")
                    .HasColumnName("result")
                    .HasComment("0成功1失败");

                entity.Property(e => e.Url)
                    .HasMaxLength(255)
                    .HasColumnName("url")
                    .HasComment("接口地址");
            });

            modelBuilder.Entity<Mt5Deal>(entity =>
            {
                entity.HasKey(e => e.Deal)
                    .HasName("PRIMARY");

                entity.ToTable("mt5_deal");

                entity.HasComment("MT5交易");

                entity.Property(e => e.Deal)
                    .HasColumnType("bigint(20)")
                    .ValueGeneratedNever()
                    .HasColumnName("deal")
                    .HasComment("交易单号");

                entity.Property(e => e.Action)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("action")
                    .HasComment("由交易执行的操作类型");

                entity.Property(e => e.Comment)
                    .HasMaxLength(255)
                    .HasColumnName("comment")
                    .HasComment("对交易注释");

                entity.Property(e => e.Commission)
                    .HasColumnName("commission")
                    .HasComment("为交易收取的手续费金额");

                entity.Property(e => e.CommissionAgent)
                    .HasColumnName("commissionAgent")
                    .HasComment("获取和设置每笔交易的费用金额");

                entity.Property(e => e.ContractSize)
                    .HasColumnName("contractSize")
                    .HasComment("交易执行所针对的交易品种的合约大小");

                entity.Property(e => e.CreateDate)
                    .HasColumnName("create_date")
                    .HasComment("创建时间");

                entity.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("creator")
                    .HasComment("创建者");

                entity.Property(e => e.Dealer)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("dealer")
                    .HasComment("已处理交易的交易员的登录");

                entity.Property(e => e.Digits)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("digits")
                    .HasComment("交易价格中的小数位数");

                entity.Property(e => e.DigitsCurrency)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("digitsCurrency")
                    .HasComment("已执行交易的客户入金货币的小数位数");

                entity.Property(e => e.EnDealAction)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("enDealAction")
                    .HasComment("交易方向");

                entity.Property(e => e.EnDealFlags)
                    .HasMaxLength(255)
                    .HasColumnName("enDealFlags")
                    .HasComment("交易的常规标识");

                entity.Property(e => e.EnEntryFlags)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("enEntryFlags")
                    .HasComment("交易方向");

                entity.Property(e => e.Entry)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("entry")
                    .HasComment("交易方向");

                entity.Property(e => e.ExpertId)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("expertID")
                    .HasComment("交易的持仓识别符（单号）");

                entity.Property(e => e.ExpertPositionId)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("expertPositionID")
                    .HasComment("交易的持仓识别符（单号）");

                entity.Property(e => e.ExternalId)
                    .HasMaxLength(255)
                    .HasColumnName("externalID")
                    .HasComment("外部交易系统中的交易 ID");

                entity.Property(e => e.Flags)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("flags")
                    .HasComment("交易的常规标识");

                entity.Property(e => e.Login)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("login")
                    .HasComment("交易所属客户的登录");

                entity.Property(e => e.Order)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("order")
                    .HasComment("订单的单号，因其执行了交易");

                entity.Property(e => e.Price)
                    .HasColumnName("price")
                    .HasComment("交易的价格");

                entity.Property(e => e.PricePosition)
                    .HasColumnName("pricePosition")
                    .HasComment("由该交易平仓的价格");

                entity.Property(e => e.Profit)
                    .HasColumnName("profit")
                    .HasComment("来自交易的利润");

                entity.Property(e => e.ProfitRaw)
                    .HasColumnName("profitRaw")
                    .HasComment("返回在交易执行所针对的交易品种的利润货币中指定");

                entity.Property(e => e.RateMargin)
                    .HasColumnName("rateMargin")
                    .HasComment("交易预付款货币到客户的入金货币的汇率");

                entity.Property(e => e.RateProfit)
                    .HasColumnName("rateProfit")
                    .HasComment("交易利润货币到客户组入金货币的汇率");

                entity.Property(e => e.Storage)
                    .HasColumnName("storage")
                    .HasComment("交易的库存费大小");

                entity.Property(e => e.Symbol)
                    .HasMaxLength(255)
                    .HasColumnName("symbol")
                    .HasComment("交易执行所针对的交易品种");

                entity.Property(e => e.TickSize)
                    .HasColumnName("tickSize")
                    .HasComment("交易的报价大小");

                entity.Property(e => e.TickValue)
                    .HasColumnName("tickValue")
                    .HasComment("交易的报价价格");

                entity.Property(e => e.Time)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("time")
                    .HasComment("从 1970 年 1 月 1 日开始经过的秒计交易执行的时间");

                entity.Property(e => e.UpdateDate)
                    .HasColumnName("update_date")
                    .HasComment("更新时间");

                entity.Property(e => e.Volume)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("volume")
                    .HasComment("交易量");

                entity.Property(e => e.VolumeClosed)
                    .HasColumnName("volumeClosed")
                    .HasComment("获得和设置由交易平仓的持仓量");
            });

            modelBuilder.Entity<Mt5Group>(entity =>
            {
                entity.HasKey(e => e.Mt5ServerId)
                    .HasName("PRIMARY");

                entity.ToTable("mt5_group");

                entity.HasComment("MT5分组");

                entity.Property(e => e.Mt5ServerId)
                    .HasColumnType("int(11)")
                    .ValueGeneratedNever()
                    .HasColumnName("mt5_server_id")
                    .HasComment("MT5服务器编号");

                entity.Property(e => e.CreateDate)
                    .HasColumnName("create_date")
                    .HasComment("同步时间");

                entity.Property(e => e.EndLogin)
                    .HasMaxLength(255)
                    .HasColumnName("end_login")
                    .HasComment("账号结束编号");

                entity.Property(e => e.Group)
                    .HasMaxLength(255)
                    .HasColumnName("group")
                    .HasComment("MT分组");

                entity.Property(e => e.StartLogin)
                    .HasMaxLength(255)
                    .HasColumnName("start_login")
                    .HasComment("账号起始编号");

                entity.Property(e => e.Type)
                    .HasColumnType("int(11)")
                    .HasColumnName("type")
                    .HasComment("服务器类别");
            });

            modelBuilder.Entity<Mt5Order>(entity =>
            {
                entity.HasKey(e => e.Order)
                    .HasName("PRIMARY");

                entity.ToTable("mt5_order");

                entity.HasComment("MT5订单");

                entity.Property(e => e.Order)
                    .HasColumnType("bigint(20)")
                    .ValueGeneratedNever()
                    .HasColumnName("order")
                    .HasComment("订单单号");

                entity.Property(e => e.ActivationFlags)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("activationFlags")
                    .HasComment("订单激活标识");

                entity.Property(e => e.ActivationMode)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("activationMode")
                    .HasComment("订单激活类型");

                entity.Property(e => e.ActivationPrice)
                    .HasColumnName("activationPrice")
                    .HasComment("已激活订单所依的价格");

                entity.Property(e => e.ActivationTime)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("activationTime")
                    .HasComment("从 1970 年 1 月 1 日开始经过的秒计订单激活的时间");

                entity.Property(e => e.Comment)
                    .HasMaxLength(255)
                    .HasColumnName("comment")
                    .HasComment("对订单注释");

                entity.Property(e => e.ContractSize)
                    .HasColumnName("contractSize")
                    .HasComment("下单所针对的交易品种的合约大小");

                entity.Property(e => e.CreateDate)
                    .HasColumnName("create_date")
                    .HasComment("创建时间");

                entity.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("creator")
                    .HasComment("创建者");

                entity.Property(e => e.Dealer)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("dealer")
                    .HasComment("已处理订单的交易员的登录");

                entity.Property(e => e.Digits)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("digits")
                    .HasComment("订单价格中的小数位数");

                entity.Property(e => e.DigitsCurrency)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("digitsCurrency")
                    .HasComment("已下单的客户入金货币的小数位数");

                entity.Property(e => e.EnOrderFilling)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("enOrderFilling")
                    .HasComment("订单成交类型");

                entity.Property(e => e.EnOrderState)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("enOrderState")
                    .HasComment("订单的当前状态");

                entity.Property(e => e.EnOrderTime)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("enOrderTime")
                    .HasComment("订单到期类型");

                entity.Property(e => e.EnOrderType)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("enOrderType")
                    .HasComment("订单类型");

                entity.Property(e => e.ExpertId)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("expertID")
                    .HasComment("已下单的策略交易系统的 ID");

                entity.Property(e => e.ExpertPositionId)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("expertPositionID")
                    .HasComment("订单中设置的持仓 ID（单号）");

                entity.Property(e => e.ExternalId)
                    .HasMaxLength(255)
                    .HasColumnName("externalID")
                    .HasComment("外部交易系统中的订单 ID");

                entity.Property(e => e.Login)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("login")
                    .HasComment("订单所属客户的登录");

                entity.Property(e => e.PriceCurrent)
                    .HasColumnName("priceCurrent")
                    .HasComment("已下单所针对的交易品种的现行价格");

                entity.Property(e => e.PriceOrder)
                    .HasColumnName("priceOrder")
                    .HasComment("订单价格");

                entity.Property(e => e.PriceSl)
                    .HasColumnName("priceSL")
                    .HasComment("订单的止损水平");

                entity.Property(e => e.PriceTp)
                    .HasColumnName("priceTP")
                    .HasComment("订单的止盈价位");

                entity.Property(e => e.PriceTrigger)
                    .HasColumnName("priceTrigger")
                    .HasComment("触发止损限价订单时提交限价订单所依的价格");

                entity.Property(e => e.Reason)
                    .HasMaxLength(255)
                    .HasColumnName("reason")
                    .HasComment("执行交易的原因");

                entity.Property(e => e.State)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("state")
                    .HasComment("订单的当前状态");

                entity.Property(e => e.Symbol)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("symbol")
                    .HasComment("订单交易品种");

                entity.Property(e => e.TimeDone)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("timeDone")
                    .HasComment("从 1970 年 1 月 1 日开始经过的秒计订单执行的时间");

                entity.Property(e => e.TimeExpiration)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("timeExpiration")
                    .HasComment("从 1970 年 1 月 1 日开始经过的秒计订单到期的时间");

                entity.Property(e => e.TimeSetup)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("timeSetup")
                    .HasComment("从 1970 年 1 月 1 日开始经过的秒计下单的时间");

                entity.Property(e => e.Type)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("type")
                    .HasComment("订单类型");

                entity.Property(e => e.TypeFill)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("typeFill")
                    .HasComment("订单成交类型");

                entity.Property(e => e.TypeTime)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("typeTime")
                    .HasComment("订单到期类型");

                entity.Property(e => e.UpdateDate)
                    .HasColumnName("update_date")
                    .HasComment("更新时间");

                entity.Property(e => e.VolumeCurrent)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("volumeCurrent")
                    .HasComment("订单的当前未成交量。一单位相当于 1/10000 手，例如，10500表示1.05手");

                entity.Property(e => e.VolumeInitial)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("volumeInitial")
                    .HasComment("初始订单交易量。一单位相当于 1/10000 手，例如，10500表示1.05手");
            });

            modelBuilder.Entity<Mt5Position>(entity =>
            {
                entity.HasKey(e => e.Position)
                    .HasName("PRIMARY");

                entity.ToTable("mt5_position");

                entity.HasComment("MT5持仓");

                entity.Property(e => e.Position)
                    .HasColumnType("bigint(255)")
                    .ValueGeneratedNever()
                    .HasColumnName("position")
                    .HasComment("MetaTrader 5 平台中交易持仓的单号（唯一识别符）");

                entity.Property(e => e.Action)
                    .HasColumnType("bigint(255)")
                    .HasColumnName("action")
                    .HasComment("持仓类型");

                entity.Property(e => e.ActivationFlags)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("activationFlags")
                    .HasComment("持仓激活标识");

                entity.Property(e => e.ActivationMode)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("activationMode")
                    .HasComment("持仓激活类型");

                entity.Property(e => e.ActivationPrice)
                    .HasColumnType("float(10,2)")
                    .HasColumnName("activationPrice")
                    .HasComment("持仓激活价格");

                entity.Property(e => e.ActivationTime)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("activationTime")
                    .HasComment("从 1970 年 1 月 1 日开始经过的秒计持仓激活的时间");

                entity.Property(e => e.Comment)
                    .HasMaxLength(255)
                    .HasColumnName("comment")
                    .HasComment("对持仓的注释");

                entity.Property(e => e.ContractSize)
                    .HasColumnName("contractSize")
                    .HasComment("开仓所针对的交易品种的合约大小");

                entity.Property(e => e.CreateDate)
                    .HasColumnName("create_date")
                    .HasComment("创建时间");

                entity.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("creator")
                    .HasComment("创建者");

                entity.Property(e => e.Dealer)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("dealer")
                    .HasComment("已处理开仓订单的交易员的登录");

                entity.Property(e => e.Digits)
                    .HasColumnType("bigint(255)")
                    .HasColumnName("digits")
                    .HasComment("持仓价格中的小数位数");

                entity.Property(e => e.DigitsCurrency)
                    .HasColumnType("bigint(255)")
                    .HasColumnName("digitsCurrency")
                    .HasComment("已开仓的客户入金货币的小数位数");

                entity.Property(e => e.EnPositionAction)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("enPositionAction")
                    .HasComment("持仓类型");

                entity.Property(e => e.ExpertId)
                    .HasColumnType("bigint(11)")
                    .HasColumnName("expertID")
                    .HasComment("已开仓的策略交易系统的 ID");

                entity.Property(e => e.ExpertPositionId)
                    .HasColumnType("bigint(11)")
                    .HasColumnName("expertPositionID")
                    .HasComment("持仓 ID");

                entity.Property(e => e.ExternalId)
                    .HasMaxLength(11)
                    .HasColumnName("externalID")
                    .HasComment(" 外部交易系统中的持仓单号（唯一数字）。");

                entity.Property(e => e.Login)
                    .HasColumnType("bigint(255)")
                    .HasColumnName("login")
                    .HasComment("交易持仓所属客户的登录");

                entity.Property(e => e.ModificationFlags)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("modificationFlags")
                    .HasComment("持仓修改标识");

                entity.Property(e => e.PriceCurrent)
                    .HasColumnName("priceCurrent")
                    .HasComment("已开仓的交易持仓所针对的交易品种的现行价格");

                entity.Property(e => e.PriceOpen)
                    .HasColumnName("priceOpen")
                    .HasComment("持仓的加权平均开仓价");

                entity.Property(e => e.PriceSl)
                    .HasColumnName("priceSL")
                    .HasComment("交易持仓的止损水平");

                entity.Property(e => e.PriceTp)
                    .HasColumnName("priceTP")
                    .HasComment("交易持仓的止盈水平");

                entity.Property(e => e.Profit)
                    .HasColumnName("profit")
                    .HasComment("交易持仓的当前盈利/亏损");

                entity.Property(e => e.RateMargin)
                    .HasColumnName("rateMargin")
                    .HasComment("持仓预付款货币到客户的入金货币的汇率");

                entity.Property(e => e.RateProfit)
                    .HasColumnName("rateProfit")
                    .HasComment("持仓利润货币到客户组入金货币的汇率");

                entity.Property(e => e.Reason)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("reason")
                    .HasComment("开仓的原因");

                entity.Property(e => e.Storage)
                    .HasColumnName("storage")
                    .HasComment("入金货币中持仓的库存费大小");

                entity.Property(e => e.Symbol)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("symbol")
                    .HasComment("交易持仓的交易品种");

                entity.Property(e => e.TimeCreate)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("timeCreate")
                    .HasComment("从 1970 年 1 月 1 日开始经过的秒计持仓创建的时间");

                entity.Property(e => e.TimeCreateMsc)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("timeCreateMsc")
                    .HasComment("毫秒计持仓创建时间");

                entity.Property(e => e.TimeUpdate)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("timeUpdate")
                    .HasComment("从 1970 年 1 月 1 日开始经过的秒计上次修改持仓的时间。持仓修改时间是其上次量修改的时间。其实际上是对应于该持仓的交易品种最后交易的时间");

                entity.Property(e => e.TimeUpdateMsc)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("timeUpdateMsc")
                    .HasComment("毫秒计上次修改交易持仓的时间。持仓修改时间是其上次量修改的时间。其实际上是对应于该持仓的交易品种最后交易的时间");

                entity.Property(e => e.UpdateDate)
                    .HasColumnName("update_date")
                    .HasComment("更新时间");

                entity.Property(e => e.Volume)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("volume")
                    .HasComment("交易持仓的量");
            });

            modelBuilder.Entity<Mt5Server>(entity =>
            {
                entity.ToTable("mt5_server");

                entity.HasComment("MT5服务器设置");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id");

                entity.Property(e => e.Default)
                    .HasColumnType("int(11)")
                    .HasColumnName("default")
                    .HasComment("是否默认1默认0不是");

                entity.Property(e => e.EndLogin)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("end_login")
                    .HasComment("账号结束编号");

                entity.Property(e => e.MetatraderLogin)
                    .HasMaxLength(255)
                    .HasColumnName("metatrader_login")
                    .HasComment("Manager账号");

                entity.Property(e => e.MetatraderName)
                    .HasMaxLength(255)
                    .HasColumnName("metatrader_name")
                    .HasComment("服务器名称");

                entity.Property(e => e.MetatraderPassword)
                    .HasMaxLength(255)
                    .HasColumnName("metatrader_password")
                    .HasComment("Manager账号密码");

                entity.Property(e => e.MetatraderPort)
                    .HasMaxLength(255)
                    .HasColumnName("metatrader_port")
                    .HasComment("服务器端口");

                entity.Property(e => e.MetatraderServer)
                    .HasMaxLength(255)
                    .HasColumnName("metatrader_server")
                    .HasComment("服务器地址");

                entity.Property(e => e.Sort)
                    .HasMaxLength(255)
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.StartLogin)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("start_login")
                    .HasComment("账号起始编号");

                entity.Property(e => e.State)
                    .HasColumnType("int(11)")
                    .HasColumnName("state")
                    .HasComment("状态1启用0禁用");

                entity.Property(e => e.Type)
                    .HasColumnType("int(11)")
                    .HasColumnName("type")
                    .HasComment("类型1真实0模拟");
            });

            modelBuilder.Entity<Mt5Transaction>(entity =>
            {
                entity.ToTable("mt5_transactions");

                entity.HasComment("MT5交易账号流水");

                entity.Property(e => e.Id)
                    .HasMaxLength(255)
                    .HasColumnName("id")
                    .HasComment("流水编号");

                entity.Property(e => e.Amount)
                    .HasPrecision(16, 2)
                    .HasColumnName("amount")
                    .HasComment("变动金额");

                entity.Property(e => e.CreateDate)
                    .HasColumnType("timestamp")
                    .ValueGeneratedOnAddOrUpdate()
                    .HasColumnName("create_date")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("时间");

                entity.Property(e => e.Creator)
                    .HasMaxLength(50)
                    .HasColumnName("creator")
                    .HasComment("创建者");

                entity.Property(e => e.Fees)
                    .HasColumnType("decimal(10,2) unsigned zerofill")
                    .HasColumnName("fees")
                    .HasComment("手续费");

                entity.Property(e => e.Login)
                    .HasColumnType("bigint(11)")
                    .HasColumnName("login")
                    .HasComment("MT5用户账号");

                entity.Property(e => e.OrderId)
                    .HasMaxLength(255)
                    .HasColumnName("order_id")
                    .HasComment("交易订单号");

                entity.Property(e => e.Remark)
                    .HasColumnType("text")
                    .HasColumnName("remark")
                    .HasComment("备注");

                entity.Property(e => e.Toamount)
                    .HasPrecision(16, 2)
                    .HasColumnName("toamount")
                    .HasComment("实际到账金额");

                entity.Property(e => e.Type)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("type")
                    .HasComment("操作类型");
            });

            modelBuilder.Entity<Mt5User>(entity =>
            {
                entity.HasKey(e => e.Login)
                    .HasName("PRIMARY");

                entity.ToTable("mt5_user");

                entity.HasComment("MT5用户");

                entity.Property(e => e.Login)
                    .HasColumnType("bigint(11)")
                    .ValueGeneratedNever()
                    .HasColumnName("login")
                    .HasComment("用户的登录");

                entity.Property(e => e.Account)
                    .HasMaxLength(255)
                    .HasColumnName("account")
                    .HasComment("外部交易系统中的客户账户");

                entity.Property(e => e.Address)
                    .HasMaxLength(255)
                    .HasColumnName("address")
                    .HasComment("客户的地址");

                entity.Property(e => e.Agent)
                    .HasColumnType("int(11)")
                    .HasColumnName("agent")
                    .HasComment("客户的代理账户");

                entity.Property(e => e.Balance)
                    .HasColumnType("decimal(16,2) unsigned zerofill")
                    .HasColumnName("balance")
                    .HasDefaultValueSql("'00000000000000.00'")
                    .HasComment("客户的当前结余");

                entity.Property(e => e.BalancePrevDay)
                    .HasPrecision(16, 2)
                    .HasColumnName("balancePrevDay")
                    .HasComment("截至前一天结束的客户结余的值");

                entity.Property(e => e.BalancePrevMonth)
                    .HasPrecision(16, 2)
                    .HasColumnName("balancePrevMonth")
                    .HasComment("截至上一个交易月结束的客户结余的值");

                entity.Property(e => e.CertSerialNumber)
                    .HasColumnType("int(11)")
                    .HasColumnName("certSerialNumber")
                    .HasComment("上次客户使用的授权证书号");

                entity.Property(e => e.City)
                    .HasMaxLength(255)
                    .HasColumnName("city")
                    .HasComment("客户的居住城市");

                entity.Property(e => e.Clinetid)
                    .HasColumnType("int(11)")
                    .HasColumnName("clinetid")
                    .HasComment("与交易账户关联的客户ID");

                entity.Property(e => e.Color)
                    .HasColumnType("int(11)")
                    .HasColumnName("color")
                    .HasComment("设置客户的颜色");

                entity.Property(e => e.Comment)
                    .HasMaxLength(255)
                    .HasColumnName("comment")
                    .HasComment("对客户的注释");

                entity.Property(e => e.CommissionAgentDaily)
                    .HasPrecision(16, 2)
                    .HasColumnName("commissionAgentDaily")
                    .HasComment("某日针对客户的交易操作收取的代理手续费的大小");

                entity.Property(e => e.CommissionAgentMonthly)
                    .HasPrecision(16, 2)
                    .HasColumnName("commissionAgentMonthly")
                    .HasComment("当前月针对客户的交易操作收取的代理手续费的金额");

                entity.Property(e => e.CommissionDaily)
                    .HasPrecision(16, 2)
                    .HasColumnName("commissionDaily")
                    .HasComment("某日来自客户的手续费金额");

                entity.Property(e => e.CommissionMonthly)
                    .HasPrecision(16, 2)
                    .HasColumnName("commissionMonthly")
                    .HasComment("当前月从客户收取的手续费总金额");

                entity.Property(e => e.Company)
                    .HasMaxLength(255)
                    .HasColumnName("company")
                    .HasComment("客户公司的名称");

                entity.Property(e => e.Country)
                    .HasMaxLength(255)
                    .HasColumnName("country")
                    .HasComment("客户的居住国家");

                entity.Property(e => e.CreateDate)
                    .HasColumnName("create_date")
                    .HasComment("创建时间");

                entity.Property(e => e.Creator)
                    .HasMaxLength(255)
                    .HasColumnName("creator")
                    .HasComment("创建者");

                entity.Property(e => e.Credit)
                    .HasPrecision(16, 2)
                    .HasColumnName("credit")
                    .HasComment("贷给客户的资金的当前金额");

                entity.Property(e => e.CrmId)
                    .HasColumnType("int(11)")
                    .HasColumnName("crm_id")
                    .HasComment("CRM账号ID");

                entity.Property(e => e.Email)
                    .HasMaxLength(255)
                    .HasColumnName("email")
                    .HasComment("电子邮件地址。");

                entity.Property(e => e.Equity)
                    .HasColumnType("decimal(16,2) unsigned zerofill")
                    .HasColumnName("equity")
                    .HasDefaultValueSql("'00000000000000.00'")
                    .HasComment("账户净值");

                entity.Property(e => e.EquityPrevDay)
                    .HasPrecision(16, 2)
                    .HasColumnName("equityPrevDay")
                    .HasComment("截至前一天结束的客户净值的值");

                entity.Property(e => e.EquityPrevMonth)
                    .HasPrecision(16, 2)
                    .HasColumnName("equityPrevMonth")
                    .HasComment("截至上一个交易月结束的客户净值的值");

                entity.Property(e => e.Floating)
                    .HasColumnType("decimal(16,2) unsigned zerofill")
                    .HasColumnName("floating")
                    .HasDefaultValueSql("'00000000000000.00'")
                    .HasComment("账户上开仓的浮动盈/损的大小");

                entity.Property(e => e.Group)
                    .HasMaxLength(255)
                    .HasColumnName("group")
                    .HasComment("用户的组");

                entity.Property(e => e.Id)
                    .HasMaxLength(255)
                    .HasColumnName("id")
                    .HasComment("客户的身份证件号码");

                entity.Property(e => e.Interstrate)
                    .HasPrecision(16, 2)
                    .HasColumnName("interstrate")
                    .HasComment("基于年利率计算的当前月的应计金额");

                entity.Property(e => e.Language)
                    .HasColumnType("int(11)")
                    .HasColumnName("language")
                    .HasComment("用户的语言");

                entity.Property(e => e.LastAccess)
                    .HasColumnType("int(255)")
                    .HasColumnName("lastAccess")
                    .HasComment("上次使用账户连接的日期");

                entity.Property(e => e.LastIp)
                    .HasMaxLength(255)
                    .HasColumnName("lastIP")
                    .HasComment("IP地址，用户上次已从其连接至服务器");

                entity.Property(e => e.LastPassChange)
                    .HasColumnType("int(11)")
                    .HasColumnName("lastPassChange")
                    .HasComment("上次更改用户密码的日期");

                entity.Property(e => e.Laverage)
                    .HasColumnType("int(11)")
                    .HasColumnName("laverage")
                    .HasComment("客户杠杆的大小");

                entity.Property(e => e.LeadCampaign)
                    .HasMaxLength(255)
                    .HasColumnName("leadCampaign")
                    .HasComment("潜在客户活动 — 吸引了客户的营销活动的名称");

                entity.Property(e => e.LeadSource)
                    .HasMaxLength(255)
                    .HasColumnName("leadSource")
                    .HasComment("在客户来源 — 客户来自的网站");

                entity.Property(e => e.LimitOrders)
                    .HasMaxLength(255)
                    .HasColumnName("limitOrders")
                    .HasComment("账户允许的最大有效（下单）挂单数量");

                entity.Property(e => e.LimitPositionsValue)
                    .HasMaxLength(255)
                    .HasColumnName("limitPositionsValue")
                    .HasComment("账户允许的未结持仓最大值");

                entity.Property(e => e.Margin)
                    .HasColumnType("decimal(16,2) unsigned zerofill")
                    .HasColumnName("margin")
                    .HasDefaultValueSql("'00000000000000.00'")
                    .HasComment("给予账户的信贷的当前金额");

                entity.Property(e => e.MarginFree)
                    .HasColumnType("decimal(16,2) unsigned zerofill")
                    .HasColumnName("marginFree")
                    .HasDefaultValueSql("'00000000000000.00'")
                    .HasComment("账户的可用预付款");

                entity.Property(e => e.MarginLevel)
                    .HasColumnType("decimal(16,2) unsigned zerofill")
                    .HasColumnName("marginLevel")
                    .HasDefaultValueSql("'00000000000000.00'")
                    .HasComment("预付款维持率");

                entity.Property(e => e.Mqid)
                    .HasColumnType("int(11)")
                    .HasColumnName("mqid")
                    .HasComment("客户的MetaQuotes ID");

                entity.Property(e => e.Name)
                    .HasMaxLength(255)
                    .HasColumnName("name")
                    .HasComment("客户的名字");

                entity.Property(e => e.Otpsecret)
                    .HasMaxLength(255)
                    .HasColumnName("otpsecret")
                    .HasComment("链接交易账户和动态密码生成器的密钥");

                entity.Property(e => e.PasswordHash)
                    .HasMaxLength(255)
                    .HasColumnName("passwordHash")
                    .HasComment("客户记录的密码散列。此方法仅在MetaTrader 5 Server API中有效");

                entity.Property(e => e.Phone)
                    .HasMaxLength(255)
                    .HasColumnName("phone")
                    .HasComment("电话号码");

                entity.Property(e => e.PhonePassword)
                    .HasMaxLength(255)
                    .HasColumnName("phonePassword")
                    .HasComment("客户的电话密码");

                entity.Property(e => e.Profit)
                    .HasColumnType("decimal(16,2) unsigned zerofill")
                    .HasColumnName("profit")
                    .HasDefaultValueSql("'00000000000000.00'")
                    .HasComment("所有开仓的当前利润的大小");

                entity.Property(e => e.Registration)
                    .HasColumnType("int(255)")
                    .HasColumnName("registration")
                    .HasComment("客户记录创建日期");

                entity.Property(e => e.Rights)
                    .HasColumnType("int(255)")
                    .HasColumnName("rights")
                    .HasComment("用户权限");

                entity.Property(e => e.Server)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("server")
                    .HasComment("服务器");

                entity.Property(e => e.State)
                    .HasMaxLength(255)
                    .HasColumnName("state")
                    .HasComment("客户的居住州（地区）");

                entity.Property(e => e.Status)
                    .HasMaxLength(255)
                    .HasColumnName("status")
                    .HasComment("客户的状态");

                entity.Property(e => e.Storage)
                    .HasColumnType("decimal(16,2) unsigned zerofill")
                    .HasColumnName("storage")
                    .HasDefaultValueSql("'00000000000000.00'")
                    .HasComment("账户上针对开仓收取的库存费的当前大小");

                entity.Property(e => e.Type)
                    .HasColumnType("int(2)")
                    .HasColumnName("type")
                    .HasComment("类型(0真实1模拟)");

                entity.Property(e => e.UpdateDate)
                    .HasColumnName("update_date")
                    .HasComment("更新时间");

                entity.Property(e => e.Zipcode)
                    .HasMaxLength(255)
                    .HasColumnName("zipcode")
                    .HasComment("客户的邮政编码");
            });

            modelBuilder.Entity<OperationLog>(entity =>
            {
                entity.ToTable("operation_log");

                entity.HasComment("操作日志");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("主键自增");

                entity.Property(e => e.Addtime)
                    .HasColumnType("timestamp")
                    .ValueGeneratedOnAddOrUpdate()
                    .HasColumnName("addtime")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("添加时间");

                entity.Property(e => e.Cont)
                    .HasMaxLength(500)
                    .HasColumnName("cont")
                    .HasComment("内容");

                entity.Property(e => e.Function)
                    .HasMaxLength(255)
                    .HasColumnName("function")
                    .HasComment("方法");

                entity.Property(e => e.Ip)
                    .HasMaxLength(255)
                    .HasColumnName("ip")
                    .HasComment("操作IP");

                entity.Property(e => e.Ipaddress)
                    .HasMaxLength(255)
                    .HasColumnName("ipaddress")
                    .HasComment("操作地点");

                entity.Property(e => e.Module)
                    .HasMaxLength(255)
                    .HasColumnName("module")
                    .HasComment("系统模块");

                entity.Property(e => e.Name)
                    .HasMaxLength(255)
                    .HasColumnName("name")
                    .HasComment("操作员名称");

                entity.Property(e => e.Operator)
                    .HasColumnType("int(11)")
                    .HasColumnName("operator")
                    .HasComment("操作员");

                entity.Property(e => e.Param)
                    .HasColumnType("text")
                    .HasColumnName("param")
                    .HasComment("参数");

                entity.Property(e => e.Source)
                    .HasColumnType("int(1)")
                    .HasColumnName("source")
                    .HasComment("用户类型 0管理员1用户");

                entity.Property(e => e.State)
                    .HasColumnType("int(1)")
                    .HasColumnName("state")
                    .HasComment("状态");

                entity.Property(e => e.Type)
                    .HasMaxLength(255)
                    .HasColumnName("type")
                    .HasComment("操作类型");

                entity.Property(e => e.Url)
                    .HasMaxLength(255)
                    .HasColumnName("url")
                    .HasComment("URL");
            });

            modelBuilder.Entity<PaymentOrder>(entity =>
            {
                entity.ToTable("payment_order");

                entity.HasComment("第三方支付订单");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("流水号");
            });

            modelBuilder.Entity<PersonReport>(entity =>
            {
                entity.ToTable("person_report");

                entity.HasComment("人统计报表");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增主键");

                entity.Property(e => e.Addtime)
                    .HasColumnName("addtime")
                    .HasComment("返佣时间");

                entity.Property(e => e.Coefficient)
                    .HasPrecision(12, 4)
                    .HasColumnName("coefficient")
                    .HasComment("返佣系数");

                entity.Property(e => e.Crmid)
                    .HasColumnType("int(11)")
                    .HasColumnName("crmid")
                    .HasComment("交易者编号");

                entity.Property(e => e.Crmlogin)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("crmlogin")
                    .HasComment("交易者账号");

                entity.Property(e => e.Date)
                    .HasColumnName("date")
                    .HasComment("结算日期");

                entity.Property(e => e.Endtime)
                    .HasColumnName("endtime")
                    .HasComment("返佣统计结束时间");

                entity.Property(e => e.Level)
                    .HasMaxLength(255)
                    .HasColumnName("level")
                    .HasComment("返佣等级");

                entity.Property(e => e.LevelId)
                    .HasColumnType("int(11)")
                    .HasColumnName("level_id")
                    .HasComment("返佣等级ID");

                entity.Property(e => e.Money)
                    .HasPrecision(12, 4)
                    .HasColumnName("money")
                    .HasComment("返佣金额");

                entity.Property(e => e.Mt5login)
                    .HasColumnType("bigint(20)")
                    .HasColumnName("mt5login")
                    .HasComment("交易账户");

                entity.Property(e => e.Owner)
                    .HasColumnType("int(11)")
                    .HasColumnName("owner")
                    .HasComment("拥有者");

                entity.Property(e => e.Scheme)
                    .HasMaxLength(255)
                    .HasColumnName("scheme")
                    .HasComment("返佣方案");

                entity.Property(e => e.SchemeId)
                    .HasColumnType("int(11)")
                    .HasColumnName("scheme_id")
                    .HasComment("返佣方案ID");

                entity.Property(e => e.Starttime)
                    .HasColumnName("starttime")
                    .HasComment("返佣统计开始时间");
            });

            modelBuilder.Entity<ProduceGroupSetting>(entity =>
            {
                entity.ToTable("produce_group_setting");

                entity.HasComment("品种组设置");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .ValueGeneratedNever()
                    .HasColumnName("id");

                entity.Property(e => e.Name)
                    .HasMaxLength(255)
                    .HasColumnName("name")
                    .HasComment("品种组名称");

                entity.Property(e => e.Server)
                    .HasMaxLength(255)
                    .HasColumnName("server")
                    .HasComment("服务器");

                entity.Property(e => e.Variety)
                    .HasMaxLength(255)
                    .HasColumnName("variety")
                    .HasComment("品种");
            });

            modelBuilder.Entity<Promotion>(entity =>
            {
                entity.ToTable("promotion");

                entity.HasComment("代理申请");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增编号");

                entity.Property(e => e.Cont)
                    .IsRequired()
                    .HasColumnType("text")
                    .HasColumnName("cont")
                    .HasComment("申请内容");

                entity.Property(e => e.CreateDate)
                    .HasColumnType("timestamp")
                    .HasColumnName("create_date")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("提交时间");

                entity.Property(e => e.CrmId)
                    .HasColumnType("int(11)")
                    .HasColumnName("crm_id")
                    .HasComment("CRM编号");

                entity.Property(e => e.OverDate)
                    .HasColumnType("timestamp")
                    .HasColumnName("over_date")
                    .HasComment("完结时间");

                entity.Property(e => e.Remarks)
                    .HasMaxLength(255)
                    .HasColumnName("remarks")
                    .HasComment("备注");

                entity.Property(e => e.Reviewer)
                    .HasMaxLength(255)
                    .HasColumnName("reviewer")
                    .HasComment("审核人员");

                entity.Property(e => e.State)
                    .HasColumnType("int(255)")
                    .HasColumnName("state")
                    .HasComment("状态(0审核中，1拒绝，2通过)");
            });

            modelBuilder.Entity<RebateLevel>(entity =>
            {
                entity.ToTable("rebate_level");

                entity.HasComment("返佣等级表");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("主键，自增ID");

                entity.Property(e => e.Cardinal)
                    .HasPrecision(10, 4)
                    .HasColumnName("cardinal")
                    .HasComment("返佣基数");

                entity.Property(e => e.CreateDate)
                    .HasColumnName("create_date")
                    .HasComment("创建时间");

                entity.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("creator")
                    .HasComment("创建人");

                entity.Property(e => e.Level)
                    .HasColumnType("int(11)")
                    .HasColumnName("level")
                    .HasComment("等级");

                entity.Property(e => e.Names)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("names")
                    .HasComment("等级名称/品种名称");

                entity.Property(e => e.Pid)
                    .HasColumnType("int(11)")
                    .HasColumnName("pid")
                    .HasComment("父级ID（顶级为0）");

                entity.Property(e => e.Remark)
                    .HasMaxLength(255)
                    .HasColumnName("remark")
                    .HasComment("备注");

                entity.Property(e => e.SchemeId)
                    .HasColumnType("int(11)")
                    .HasColumnName("scheme_id")
                    .HasComment("返佣方案ID");

                entity.Property(e => e.Sort)
                    .HasColumnType("int(11)")
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.State)
                    .HasColumnType("bit(1)")
                    .HasColumnName("state")
                    .HasComment("状态");
            });

            modelBuilder.Entity<RebateLevelSetting>(entity =>
            {
                entity.HasNoKey();

                entity.ToTable("rebate_level_setting");

                entity.HasComment("返佣层级设置");

                entity.Property(e => e.Level)
                    .HasColumnType("int(11)")
                    .HasColumnName("level")
                    .HasComment("层级");

                entity.Property(e => e.LevelName)
                    .HasMaxLength(255)
                    .HasColumnName("level_name")
                    .HasComment("层级名称");

                entity.Property(e => e.Rules)
                    .HasMaxLength(255)
                    .HasColumnName("rules")
                    .HasComment("管理规则");
            });

            modelBuilder.Entity<RebateRule>(entity =>
            {
                entity.ToTable("rebate_rules");

                entity.HasComment("返佣规则");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .ValueGeneratedNever()
                    .HasColumnName("id")
                    .HasComment("自增编号");

                entity.Property(e => e.CrmGroup)
                    .HasMaxLength(255)
                    .HasColumnName("crm_group")
                    .HasComment("CRM组别");

                entity.Property(e => e.Group)
                    .HasMaxLength(255)
                    .HasColumnName("group")
                    .HasComment("MT5组别");

                entity.Property(e => e.Level)
                    .HasColumnType("int(255)")
                    .HasColumnName("level")
                    .HasComment("结算层级");

                entity.Property(e => e.Name)
                    .HasMaxLength(255)
                    .HasColumnName("name")
                    .HasComment("规则名称");

                entity.Property(e => e.ProduceGroup)
                    .HasMaxLength(255)
                    .HasColumnName("produce_group")
                    .HasComment("品种组");

                entity.Property(e => e.Server)
                    .HasMaxLength(255)
                    .HasColumnName("server")
                    .HasComment("服务器");

                entity.Property(e => e.State)
                    .HasColumnType("int(11)")
                    .HasColumnName("state")
                    .HasComment("状态（0启用1禁用）");
            });

            modelBuilder.Entity<RebateScheme>(entity =>
            {
                entity.ToTable("rebate_scheme");

                entity.HasComment("返佣方案表");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增ID");

                entity.Property(e => e.CreateDate)
                    .HasColumnName("create_date")
                    .HasComment("创建时间");

                entity.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("creator")
                    .HasComment("创建人");

                entity.Property(e => e.Names)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("names")
                    .HasComment("名称");

                entity.Property(e => e.Remark)
                    .HasMaxLength(255)
                    .HasColumnName("remark")
                    .HasComment("备注");

                entity.Property(e => e.Sort)
                    .HasColumnType("int(11)")
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.State)
                    .HasColumnType("bit(1)")
                    .HasColumnName("state")
                    .HasComment("状态");
            });

            modelBuilder.Entity<RemittanceAccount>(entity =>
            {
                entity.ToTable("remittance_account");

                entity.HasComment("汇款账户");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("电汇账户");

                entity.Property(e => e.AccountNumber)
                    .HasMaxLength(50)
                    .HasColumnName("account_number")
                    .HasComment("银行卡号");

                entity.Property(e => e.Bank)
                    .HasMaxLength(255)
                    .HasColumnName("\r\nbank")
                    .HasComment("开户银行");

                entity.Property(e => e.BranchName)
                    .HasMaxLength(255)
                    .HasColumnName("branch_name")
                    .HasComment("支行名称");

                entity.Property(e => e.CreateDate)
                    .HasColumnType("timestamp")
                    .HasColumnName("create_date")
                    .HasDefaultValueSql("'0000-00-00 00:00:00'")
                    .HasComment("创建时间");

                entity.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("creator")
                    .HasComment("创建者");

                entity.Property(e => e.Currency)
                    .HasMaxLength(255)
                    .HasColumnName("currency")
                    .HasComment("收款货币");

                entity.Property(e => e.Maximum)
                    .HasPrecision(10, 2)
                    .HasColumnName("maximum")
                    .HasComment("单笔最高入金金额");

                entity.Property(e => e.Minimum)
                    .HasPrecision(10, 2)
                    .HasColumnName("minimum")
                    .HasComment("单笔最低入金金额");

                entity.Property(e => e.Payee)
                    .HasMaxLength(255)
                    .HasColumnName("payee")
                    .HasComment("开户姓名");

                entity.Property(e => e.Qrcode)
                    .HasMaxLength(255)
                    .HasColumnName("qrcode")
                    .HasComment("收款二维码");

                entity.Property(e => e.Remark)
                    .HasMaxLength(255)
                    .HasColumnName("remark")
                    .HasComment("提示");

                entity.Property(e => e.RoleId)
                    .HasColumnType("int(11)")
                    .HasColumnName("role_id")
                    .HasComment("用户角色");

                entity.Property(e => e.Sort)
                    .HasColumnType("int(11)")
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.Status)
                    .HasColumnType("int(11)")
                    .HasColumnName("status")
                    .HasComment("状态1启用0禁用");
            });

            modelBuilder.Entity<Symbol>(entity =>
            {
                entity.HasKey(e => e.Symbol1)
                    .HasName("PRIMARY");

                entity.ToTable("symbol");

                entity.HasComment("交易品种");

                entity.Property(e => e.Symbol1)
                    .HasMaxLength(255)
                    .HasColumnName("symbol")
                    .HasComment("交易品种名称");

                entity.Property(e => e.CreateDate)
                    .HasColumnName("create_date")
                    .HasComment("创建时间");

                entity.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("creator")
                    .HasComment("创建者");

                entity.Property(e => e.Description)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("description");

                entity.Property(e => e.Path)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("path");

                entity.Property(e => e.UpdateDate)
                    .HasColumnName("update_date")
                    .HasComment("更新时间");
            });

            modelBuilder.Entity<TbCode>(entity =>
            {
                entity.HasKey(e => e.CoId)
                    .HasName("PRIMARY");

                entity.ToTable("tb_code");

                entity.HasComment("码表");

                entity.Property(e => e.CoId)
                    .HasColumnType("int(11)")
                    .HasColumnName("coId");

                entity.Property(e => e.CoCode)
                    .HasColumnType("int(11)")
                    .HasColumnName("coCode");

                entity.Property(e => e.CoCreate)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("coCreate");

                entity.Property(e => e.CoCreateTime)
                    .HasColumnType("timestamp")
                    .ValueGeneratedOnAddOrUpdate()
                    .HasColumnName("coCreateTime")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP");

                entity.Property(e => e.CoName)
                    .IsRequired()
                    .HasMaxLength(500)
                    .HasColumnName("coName");

                entity.Property(e => e.CoNameEn)
                    .HasMaxLength(500)
                    .HasColumnName("coNameEN");

                entity.Property(e => e.CoRemark)
                    .HasMaxLength(500)
                    .HasColumnName("coRemark");

                entity.Property(e => e.CoSort)
                    .HasColumnType("int(11)")
                    .HasColumnName("coSort");

                entity.Property(e => e.CoType)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("coType");

                entity.Property(e => e.CoUpdate)
                    .HasMaxLength(50)
                    .HasColumnName("coUpdate");

                entity.Property(e => e.CoUpdateTime)
                    .HasColumnType("timestamp")
                    .HasColumnName("coUpdateTime");

                entity.Property(e => e.Status)
                    .HasColumnType("int(11)")
                    .HasColumnName("status");
            });

            modelBuilder.Entity<TbCodetype>(entity =>
            {
                entity.HasKey(e => e.CtId)
                    .HasName("PRIMARY");

                entity.ToTable("tb_codetype");

                entity.HasComment("码表类型表");

                entity.Property(e => e.CtId)
                    .HasColumnType("int(11)")
                    .HasColumnName("ctId");

                entity.Property(e => e.CtCode)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("ctCode");

                entity.Property(e => e.CtCreate)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("ctCreate");

                entity.Property(e => e.CtCreateTime)
                    .HasColumnType("timestamp")
                    .ValueGeneratedOnAddOrUpdate()
                    .HasColumnName("ctCreateTime")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP");

                entity.Property(e => e.CtName)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("ctName");

                entity.Property(e => e.CtNameEn)
                    .HasMaxLength(255)
                    .HasColumnName("ctNameEN");

                entity.Property(e => e.CtRemark)
                    .HasMaxLength(255)
                    .HasColumnName("ctRemark");

                entity.Property(e => e.CtUpdate)
                    .HasMaxLength(50)
                    .HasColumnName("ctUpdate");

                entity.Property(e => e.CtUpdateTime)
                    .HasColumnType("timestamp")
                    .HasColumnName("ctUpdateTime");
            });

            modelBuilder.Entity<TbErrorlog>(entity =>
            {
                entity.HasKey(e => e.ErId)
                    .HasName("PRIMARY");

                entity.ToTable("tb_errorlog");

                entity.HasComment("错误日志表");

                entity.Property(e => e.ErId)
                    .HasColumnType("int(11)")
                    .HasColumnName("erId");

                entity.Property(e => e.ErAction)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("erAction");

                entity.Property(e => e.ErController)
                    .HasMaxLength(255)
                    .HasColumnName("erController");

                entity.Property(e => e.ErCreateTime).HasColumnName("erCreateTime");

                entity.Property(e => e.ErDeveloper)
                    .HasMaxLength(255)
                    .HasColumnName("erDeveloper");

                entity.Property(e => e.ErMessage)
                    .IsRequired()
                    .HasColumnName("erMessage");

                entity.Property(e => e.ErOpempId)
                    .HasColumnType("int(11)")
                    .HasColumnName("erOPEmpId");

                entity.Property(e => e.ErType)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("erType");
            });

            modelBuilder.Entity<TbLaverage>(entity =>
            {
                entity.ToTable("tb_laverage");

                entity.HasComment("杠杆设置");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("主键ID");

                entity.Property(e => e.CreateDate)
                    .HasColumnType("timestamp")
                    .HasColumnName("create_date")
                    .HasDefaultValueSql("'0000-00-00 00:00:00'")
                    .HasComment("创建时间");

                entity.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("creator")
                    .HasComment("创建人");

                entity.Property(e => e.Laverage)
                    .HasColumnType("int(11)")
                    .HasColumnName("laverage")
                    .HasComment("杠杆比例值");

                entity.Property(e => e.Name)
                    .IsRequired()
                    .HasMaxLength(10)
                    .HasColumnName("name")
                    .HasComment("名称");

                entity.Property(e => e.Sort)
                    .HasColumnType("int(11)")
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.State)
                    .HasColumnType("int(11)")
                    .HasColumnName("state")
                    .HasComment("状态（1启用0禁用）");
            });

            modelBuilder.Entity<TbLog>(entity =>
            {
                entity.ToTable("tb_log");

                entity.HasComment("接口调用日志");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("主键自增");

                entity.Property(e => e.Addtime)
                    .HasColumnType("timestamp")
                    .ValueGeneratedOnAddOrUpdate()
                    .HasColumnName("addtime")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("添加时间");

                entity.Property(e => e.Cont)
                    .IsRequired()
                    .HasMaxLength(500)
                    .HasColumnName("cont")
                    .HasComment("内容");

                entity.Property(e => e.Name)
                    .HasMaxLength(255)
                    .HasColumnName("name")
                    .HasComment("操作员名称");

                entity.Property(e => e.Operator)
                    .HasColumnType("int(11)")
                    .HasColumnName("operator")
                    .HasComment("操作员");

                entity.Property(e => e.Source)
                    .HasColumnType("int(255)")
                    .HasColumnName("source")
                    .HasComment("用户类型 0管理员1用户");
            });

            modelBuilder.Entity<TbMenu>(entity =>
            {
                entity.ToTable("tb_menu");

                entity.HasComment("菜单表");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增编号");

                entity.Property(e => e.CreateDate)
                    .HasColumnType("timestamp")
                    .ValueGeneratedOnAddOrUpdate()
                    .HasColumnName("createDate")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("创建日期");

                entity.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("creator")
                    .HasComment("创建者");

                entity.Property(e => e.Image)
                    .HasMaxLength(50)
                    .HasColumnName("image")
                    .HasComment("图标");

                entity.Property(e => e.Names)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("names")
                    .HasComment("菜单名称");

                entity.Property(e => e.Pid)
                    .HasColumnType("int(11)")
                    .HasColumnName("pid")
                    .HasComment("父级编号");

                entity.Property(e => e.Remark)
                    .HasMaxLength(200)
                    .HasColumnName("remark")
                    .HasComment("备注");

                entity.Property(e => e.Sort)
                    .HasColumnType("int(11)")
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.State)
                    .HasColumnType("int(11)")
                    .HasColumnName("state")
                    .HasComment("状态1启用0禁用");

                entity.Property(e => e.Type)
                    .HasColumnType("int(11)")
                    .HasColumnName("type")
                    .HasComment("类型 0菜单1按钮");

                entity.Property(e => e.Url)
                    .IsRequired()
                    .HasMaxLength(100)
                    .HasColumnName("url")
                    .HasComment("菜单链接");

                entity.Property(e => e.UserType)
                    .HasColumnType("int(11)")
                    .HasColumnName("user_type")
                    .HasComment("用户类型 0管理员1用户");
            });

            modelBuilder.Entity<TbMenuRole>(entity =>
            {
                entity.HasKey(e => new { e.RoleId, e.MenuId, e.UserType })
                    .HasName("PRIMARY")
                    .HasAnnotation("MySql:IndexPrefixLength", new[] { 0, 0, 0 });

                entity.ToTable("tb_menu_role");

                entity.HasComment("菜单角色表");

                entity.Property(e => e.RoleId)
                    .HasColumnType("int(11)")
                    .HasColumnName("role_id");

                entity.Property(e => e.MenuId)
                    .HasColumnType("int(11)")
                    .HasColumnName("menu_id");

                entity.Property(e => e.UserType)
                    .HasColumnType("int(11)")
                    .HasColumnName("user_type")
                    .HasComment("用户类型 0管理员1用户");
            });

            modelBuilder.Entity<TbPower>(entity =>
            {
                entity.ToTable("tb_power");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id");

                entity.Property(e => e.Action)
                    .HasMaxLength(50)
                    .HasColumnName("action");

                entity.Property(e => e.Controller)
                    .HasMaxLength(50)
                    .HasColumnName("controller");

                entity.Property(e => e.CreateDate)
                    .HasColumnType("timestamp")
                    .ValueGeneratedOnAddOrUpdate()
                    .HasColumnName("create_date")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP");

                entity.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("creator");

                entity.Property(e => e.MenuId)
                    .HasColumnType("int(11)")
                    .HasColumnName("menu_id");

                entity.Property(e => e.Names)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("names");

                entity.Property(e => e.Remark)
                    .HasMaxLength(200)
                    .HasColumnName("remark");

                entity.Property(e => e.Sort)
                    .HasColumnType("int(11)")
                    .HasColumnName("sort");
            });

            modelBuilder.Entity<TbPowerRole>(entity =>
            {
                entity.HasKey(e => new { e.PowerId, e.RoleId })
                    .HasName("PRIMARY")
                    .HasAnnotation("MySql:IndexPrefixLength", new[] { 0, 0 });

                entity.ToTable("tb_power_role");

                entity.Property(e => e.PowerId)
                    .HasColumnType("int(11)")
                    .HasColumnName("power_id");

                entity.Property(e => e.RoleId)
                    .HasColumnType("int(11)")
                    .HasColumnName("role_id");
            });

            modelBuilder.Entity<TbRole>(entity =>
            {
                entity.ToTable("tb_role");

                entity.HasComment("角色表");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增编号");

                entity.Property(e => e.CreateDate)
                    .HasColumnType("timestamp")
                    .ValueGeneratedOnAddOrUpdate()
                    .HasColumnName("create_date")
                    .HasDefaultValueSql("CURRENT_TIMESTAMP")
                    .HasComment("创建时间");

                entity.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("creator")
                    .HasComment("创建者");

                entity.Property(e => e.Level)
                    .HasColumnType("int(11)")
                    .HasColumnName("level")
                    .HasComment("等级（默认0）");

                entity.Property(e => e.Names)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("names")
                    .HasComment("角色名称");

                entity.Property(e => e.Pid)
                    .HasColumnType("int(11)")
                    .HasColumnName("pid")
                    .HasComment("上级编号（默认0）");

                entity.Property(e => e.Remark)
                    .HasMaxLength(500)
                    .HasColumnName("remark")
                    .HasComment("备注");

                entity.Property(e => e.UserType)
                    .HasColumnType("int(11)")
                    .HasColumnName("user_type")
                    .HasComment("用户类型 0管理员1用户");
            });

            modelBuilder.Entity<TbSystemConfig>(entity =>
            {
                entity.ToTable("tb_system_config");

                entity.HasComment("设置表");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增编号");

                entity.Property(e => e.ConfigTab)
                    .HasColumnType("int(11)")
                    .HasColumnName("config_tab")
                    .HasComment("类型编号");

                entity.Property(e => e.Info)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("info")
                    .HasComment("设置说明");

                entity.Property(e => e.InputType)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("input_type")
                    .HasComment("输入框类型");

                entity.Property(e => e.Language)
                    .HasMaxLength(255)
                    .HasColumnName("language")
                    .HasComment("语言");

                entity.Property(e => e.MenuName)
                    .IsRequired()
                    .HasMaxLength(100)
                    .HasColumnName("menu_name")
                    .HasComment("设置标题");

                entity.Property(e => e.Parameter)
                    .HasMaxLength(255)
                    .HasColumnName("parameter")
                    .HasComment("参数");

                entity.Property(e => e.Sort)
                    .HasColumnType("int(11)")
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.Status)
                    .HasColumnName("status")
                    .HasComment("0显示；1显示");

                entity.Property(e => e.Type)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("type")
                    .HasComment("输入类型");

                entity.Property(e => e.Value)
                    .IsRequired()
                    .HasMaxLength(5000)
                    .HasColumnName("value")
                    .HasComment("设置值");
            });

            modelBuilder.Entity<TbSystemConfigTab>(entity =>
            {
                entity.ToTable("tb_system_config_tab");

                entity.HasComment("设置类型表");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增编号");

                entity.Property(e => e.EngTitle)
                    .HasMaxLength(255)
                    .HasColumnName("eng_title")
                    .HasComment("类型名称");

                entity.Property(e => e.Status)
                    .HasColumnName("status")
                    .HasComment("0显示；1显示");

                entity.Property(e => e.Title)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("title")
                    .HasComment("类型名称");
            });

            modelBuilder.Entity<TbUser>(entity =>
            {
                entity.ToTable("tb_user");

                entity.HasComment("管理员表");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("自增编号");

                entity.Property(e => e.CreateDate)
                    .HasColumnType("timestamp")
                    .HasColumnName("create_date")
                    .HasDefaultValueSql("'0000-00-00 00:00:00'")
                    .HasComment("创建时间");

                entity.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("creator")
                    .HasComment("创建者");

                entity.Property(e => e.Email)
                    .HasMaxLength(100)
                    .HasColumnName("email")
                    .HasComment("电子邮箱");

                entity.Property(e => e.Isdel)
                    .HasColumnType("bit(1)")
                    .HasColumnName("isdel")
                    .HasComment("是否删除（0：未删除；1：已删除）");

                entity.Property(e => e.LastIp)
                    .HasMaxLength(255)
                    .HasColumnName("last_ip")
                    .HasComment("最后登录IP");

                entity.Property(e => e.LastTime)
                    .HasColumnType("timestamp")
                    .HasColumnName("last_time")
                    .HasComment("最后登录时间");

                entity.Property(e => e.Level)
                    .HasColumnType("int(11)")
                    .HasColumnName("level")
                    .HasComment("等级（默认0）");

                entity.Property(e => e.LoginName)
                    .IsRequired()
                    .HasMaxLength(100)
                    .HasColumnName("login_name")
                    .HasComment("登录账号");

                entity.Property(e => e.LoginPwd)
                    .IsRequired()
                    .HasMaxLength(255)
                    .HasColumnName("login_pwd")
                    .HasComment("登录密码");

                entity.Property(e => e.Pid)
                    .HasColumnType("int(11)")
                    .HasColumnName("pid")
                    .HasComment("上级编号（默认0）");

                entity.Property(e => e.Remark)
                    .HasMaxLength(500)
                    .HasColumnName("remark")
                    .HasComment("备注");

                entity.Property(e => e.State)
                    .HasColumnType("int(11)")
                    .HasColumnName("state")
                    .HasComment("状态1启用0禁用");

                entity.Property(e => e.Telephone)
                    .HasMaxLength(20)
                    .HasColumnName("telephone")
                    .HasComment("联系电话");

                entity.Property(e => e.UserName)
                    .IsRequired()
                    .HasMaxLength(100)
                    .HasColumnName("user_name")
                    .HasComment("姓名");
            });

            modelBuilder.Entity<TbUserRole>(entity =>
            {
                entity.HasKey(e => new { e.UserId, e.RoleId, e.UserType })
                    .HasName("PRIMARY")
                    .HasAnnotation("MySql:IndexPrefixLength", new[] { 0, 0, 0 });

                entity.ToTable("tb_user_role");

                entity.HasComment("管理员角色表");

                entity.Property(e => e.UserId)
                    .HasColumnType("int(11)")
                    .HasColumnName("user_id");

                entity.Property(e => e.RoleId)
                    .HasColumnType("int(11)")
                    .HasColumnName("role_id");

                entity.Property(e => e.UserType)
                    .HasColumnType("int(11)")
                    .HasColumnName("user_type")
                    .HasComment("用户类型 0管理员1用户");
            });

            modelBuilder.Entity<WireTransfer>(entity =>
            {
                entity.ToTable("wire_transfer");

                entity.HasComment("电汇账户");

                entity.Property(e => e.Id)
                    .HasColumnType("int(11)")
                    .HasColumnName("id")
                    .HasComment("电汇账户");

                entity.Property(e => e.AccountNumber)
                    .HasMaxLength(25)
                    .HasColumnName("account_number")
                    .HasComment("收款账号");

                entity.Property(e => e.Bank)
                    .HasMaxLength(255)
                    .HasColumnName("\r\nbank")
                    .HasComment("收款银行");

                entity.Property(e => e.BankAddress)
                    .HasMaxLength(255)
                    .HasColumnName("bank_address")
                    .HasComment("收款银行地址");

                entity.Property(e => e.CreateDate)
                    .HasColumnType("timestamp")
                    .HasColumnName("create_date")
                    .HasDefaultValueSql("'0000-00-00 00:00:00'")
                    .HasComment("创建时间");

                entity.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("creator")
                    .HasComment("创建者");

                entity.Property(e => e.Currency)
                    .HasMaxLength(255)
                    .HasColumnName("currency")
                    .HasComment("收款货币");

                entity.Property(e => e.Maximum)
                    .HasPrecision(10, 2)
                    .HasColumnName("maximum")
                    .HasComment("单笔最高入金金额");

                entity.Property(e => e.Minimum)
                    .HasPrecision(10, 2)
                    .HasColumnName("minimum")
                    .HasComment("单笔最低入金金额");

                entity.Property(e => e.Payee)
                    .HasMaxLength(255)
                    .HasColumnName("payee")
                    .HasComment("收款人");

                entity.Property(e => e.PayeeAddress)
                    .HasMaxLength(255)
                    .HasColumnName("payee_address")
                    .HasComment("收款人地址");

                entity.Property(e => e.Qrcode)
                    .HasMaxLength(255)
                    .HasColumnName("qrcode")
                    .HasComment("收款二维码");

                entity.Property(e => e.Remark)
                    .HasMaxLength(255)
                    .HasColumnName("remark")
                    .HasComment("提示");

                entity.Property(e => e.RoleId)
                    .HasColumnType("int(11)")
                    .HasColumnName("role_id")
                    .HasComment("用户角色");

                entity.Property(e => e.Sort)
                    .HasColumnType("int(11)")
                    .HasColumnName("sort")
                    .HasComment("排序");

                entity.Property(e => e.Status)
                    .HasColumnType("int(11)")
                    .HasColumnName("status")
                    .HasComment("状态1启用0禁用");

                entity.Property(e => e.Swiftcode)
                    .HasMaxLength(255)
                    .HasColumnName("SWIFTCode")
                    .HasComment("SWIFT Code");
            });

            OnModelCreatingPartial(modelBuilder);
        }

        partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
    }
}
